Я работаю над настройкой единого входа для нашей интрасети, идея заключается в том, чтобы пользователь мог войти на свою рабочую станцию, используя свое имя пользователя и пароль в активном каталоге.Затем при входе в систему запускалось небольшое приложение, которое отправляло бы на сервер некоторую уникально идентифицируемую информацию, имя пользователя и MAC-адрес компьютера, если бы оно было введено в базу данных с отметкой времени.Затем, когда пользователь получает доступ к интрасети, java-апплет отправляет mac-адрес пользователя на сервер и сравнивает его с записью базы данных, чтобы узнать, находит ли он совпадение в течение определенного периода времени, если он это делает, то он регистрирует пользователя и удаляетзапись из базы данных.
К сожалению, наша интрасеть не работает на IIS, поэтому я не могу использовать NTLM для аутентификации, которая была бы проще, но не совместима с браузерами, что является одним из требований.NTLM также не подходит, потому что наша интрасеть доступна только в форме intranet.company.com, и, насколько я знаю, NTLM не работает с адресами в этой форме.
Хорошо, теперь вопрос.В настоящее время я нахожусь в процессе создания клиентского приложения для аутентификации в C ++ и мне нужен способ получить некоторый уникальный идентификатор или токен, который бы отличал законно вошедшего в систему пользователя Active Directory от того, кто получил приложение и изменил свое локальное имя пользователяпользователю AD.
Да, я знаю, что это, вероятно, неправильный способ сделать это, но сейчас это кажется единственным вариантом.Если у вас есть какие-либо предложения, кроме того, пожалуйста, дайте мне знать.Также я знаю об огромной дыре в безопасности, которую он создает, если вы можете придумать способ исправить эту дыру без NTLM, обязательно дайте мне знать.