2012-01-25 4 views
0

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

Если это невозможно по mod_auth_kerb, но возможно каким-либо другим способом apache (или nginx), все в порядке!

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

ответ

1

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

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

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

Смежные вопросы