2013-10-10 67 views
1

我遇到了Tomcat的一個非常奇怪的問題:運行在Tomcat 6上的我的Webapp在BASIC身份驗證中工作得很好。不過,我想切換到基於FORM的身份驗證。但是,當我改變我的web.xml來自:Tomcat使用BASIC身份驗證代替FORM驗證

<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仍然使用基本身份驗證。

  • 兩個登錄文件都存在。
  • catalina.err/out沒有錯誤。
  • 離開了realm元素使得瀏覽器顯示「驗證 需要」而不是域名稱(仍然使用BASIC)

是否有未使用任何條件下,基於形成權威性?

+0

檢查您沒有在任何地方配置BasicAuthenticator閥門。 –

+0

除了server.xml中的一個RemoteAddrValve,我沒有定義閥門。 – Meriadox

回答

0

似乎重新加載webapp是不夠的,在我的情況。

正在使用通過FORM身份驗證重新啓動tomcat。

ADD:FORM認證使用與BASIC/DIGEST不同的摘要算法。因此,我的舊用戶身份驗證數據庫不可重用。但這是一個不同的話題。 :)