Apache2, Kerberos, SSI: как войти под другим пользователем - PullRequest
0 голосов
/ 25 января 2012

У меня есть веб-приложение с авторизацией по заголовку REMOTE_USER. Если apache2 + mod_auth_kerb установил REMOTE_USER по какому-либо имени ActiveDirectory, мое веб-приложение знает, что пользователь с таким именем пользователя вошел в систему. У меня единый вход ( SSI ), и он работает отлично, но что мне делать, если я хочу войти в систему как другой пользователь? Как заставить Kerberos Relogin (например, с помощью базовой аутентификации)?

Если это невозможно с помощью mod_auth_kerb, но возможно с помощью другого мода apache (или nginx), это вполне нормально!

P.S. Кстати, безопасно ли полагаться на HTTP-заголовок REMOTE_USER в процессе авторизации?

1 Ответ

1 голос
/ 25 января 2012

Невозможно выйти из системы, если они были аутентифицированы с помощью базовой аутентификации типа браузера.

Попробуйте использовать Stanford WebAuth . Это позволяет вам представить страницу входа в браузере и по-прежнему использовать кредиты Kerberos пользователя (по вашему выбору, используя SPNEGO для входа без пароля). Он также обеспечивает полную функциональность выхода из системы - браузер пользователя не перестанет проходить проверку подлинности Kerberos, но он перестанет входить в WebAuth.

Безопасно полагаться на серверную переменную REMOTE_USER . Это не заголовок HTTP - в PHP это будет $_SERVER['REMOTE_USER'], а не $_REQUEST['REMOTE_USER']. Это устанавливается серверным кодом.

...