2013-10-10 9 views
1

Я столкнулся с очень странной проблемой с Tomcat: My Webapp работает на Tomcat 6, отлично работает с BASIC auth. Однако я хотел бы перейти на auth на основе FORM. Но когда я изменить web.xml от:Tomcat использует BASIC auth вместо FORM auth

<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>my realm</realm-name> 
</login-config> 

этому здесь

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.html</form-login-page> 
     <form-error-page>/loginfail.html</form-error-page> 
    </form-login-config> 
    <realm-name>my realm</realm-name> 
</login-config> 

Tomcat еще использует BASIC AUTH.

  • Оба файла регистрации существуют.
  • В Catalina.err/out отсутствуют ошибки.
  • Опуская элемент области действия делает браузер шоу «Аутентификация требуется» вместо имени области (по-прежнему использует BASIC)

Существуют ли какие-либо условия, при которых FORM на основе аутентификации не используется?

+0

Проверьте, что вы не настроили клапан BasicAuthenticator в любом месте. –

+0

Помимо одного RemoteAddrValve в server.xml, у меня не определено Valves. – Meriadox

ответ

0

Кажется, что перезагрузки webapp было недостаточно в моем случае.

После перезапуска tomcat с помощью аутентификации FORM используется.

ADD: FORM аутентификация использует другой алгоритм дайджеста, чем BASIC/DIGEST. Следовательно, моя старая пользовательская база данных не может использоваться повторно. Но это другая тема. :)