Это очень легко достичь. Для вас есть два варианта.
1: Отправлять обратно клиенту
WWW-Authenticate: Negotiate
WWW-Authenticate: Kerberos
WWW-Authenticate: Basic (or better yet Digest)
Клиент выберет наилучший доступный для него метод.
2: Если вам действительно требуется form-auth, отправьте
WWW-Authenticate: Negotiate
и представить форму как страницу 401. Дайте сообщению формы незащищенному контроллеру и выполните команду auth.
Вы можете использовать mod_auth_kerb
или mod_auth_gss
для Apache HTTPd и изучить $ REMOTE_USER
после успешного авторизации.
Имейте в виду, что если вы хотите, чтобы некоторые пользователи использовали Kerberos auth, они должны быть частью вашей сети/домена с учетными записями KDC и соответствующими DNS-записями.