Вход в систему на основе формы Apache обнаруживает неверные учетные данныеApache

Ответить Пред. темаСлед. тема
Anonymous
 Вход в систему на основе формы Apache обнаруживает неверные учетные данные

Сообщение Anonymous »


У меня установлен Apache 2.4 (httpd) на Red Hat 9.0. У меня есть базовая аутентификация, работающая с ldap, и собственная форма входа.

Мой httpd.conf содержит следующее

Форма типа аутентификации Имя авторизации «Логин» AuthFormProvider ldap AuthFormLoginRequiredLocation "/login.shtml?req=%{REQUEST_URI}" AuthLDAPURL "ldap://DC:389/OU=Users,dc=x,dc=com?sAMAccountName?sub?(objectClass=*)" Требовать действительного пользователя Имя пользователя AuthLDAPBindDN AuthLDAPBindPassword PASSWORD Сеанс включен SessionCookieName путь к сеансу =/ SetHandler обработчик входа в форму AuthFormLoginRequiredLocation «badlogin.shtml» SetEnvIf Referer ^.*req=(.*)&?$ req=$1 AuthFormLoginSuccessLocation %{ENV:req} AuthFormProvider ldap AuthLDAPURL "ldap://DC:389/OU=Users,dc=x,dc=com?sAMAccountName?sub?(objectClass=*)" Требовать действительного пользователя Имя пользователя AuthLDAPBindDN AuthLDAPBindPassword PASSWORD Форма типа аутентификации Имя авторизации «Логин» Сеанс включен SessionCookieName путь к сеансу =/ и у меня есть базовая форма в login.html

Имя пользователя: Пароль: Директива отправляет вас на страницу, которую вы изначально запрашивали, после входа в систему через страницу login.html.

Если вы введете неверные учетные данные, директива отправит вас на badlogin.html, который по сути такой же, как и login.html, но содержит фразу «ПЛОХИЕ КРЕДИ, попробуйте еще раз». красный шрифт.

Однако, если вы правильно указали учетные данные, вам потребуется do-login.html ... 302 Found .. говоря: Документ перемещен .. с «здесь» гиперссылка на самого себя. При нажатии на эту ссылку появляется сообщение «Метод не разрешен. Запрошенный метод GET не разрешен для этого URL-адреса».

do-login стал здесь реферером.

Как заставить badlogin.html перенаправить меня на легальную страницу? Я полагаю, что первоначальный реферер больше не известен, поэтому /private/index.shtml будет достаточно хорошим местоположением.

До того, как я начал использовать "?req=%{REQUEST_URI}" и "SetEnvIf Referer", я просто использовал

AuthFormLoginRequiredLocation "/login.shtml" и AuthFormLoginSuccessLocation "/private/index.shtml"

Поэтому независимо от того, какую страницу вы изначально выбрали, после успешного входа в систему вы всегда оказывались на странице «/private/index.shtml». Мне это не нравится. Если вы выбрали /private/pageA.shtml или /private/pageB.shtml, вы всегда оказывались на /private/index.shtml. С помощью приведенных выше директив, если вы выберете /private/pageB.shtml, вы перейдете на /private/pageB.shtml после входа в систему. Но не в том случае, если вы ошибетесь в кредитах и ​​исправите их при следующей попытке.

Я пытался, но безуспешно:

AuthFormLoginRequiredLocation "/badlogin.shtml?req=%{REQUEST_URI}" Возможно, есть способ условно установить AuthFormLoginSuccessLocation ?

Просто пытаюсь учесть ситуацию, когда пользователь не получает правильные кредиты с первого раза.

заранее спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Apache»