2013-03-14 47 views
3

我有一個非常簡單的疑問,我知道大多數人可能會對此問題投下一票。但是由於我對Web應用程序很陌生,我不知道它是如何產生的。身份驗證如何彈出

問:每當我登錄到某個Web應用程序時,都會彈出一個請求進行身份驗證的請求。有些東西與此類似,

警告:此服務器正在請求以不安全的方式(沒有安全連接的基本身份驗證)發送您的用戶名和密碼。

設置完成的地方在哪裏?我試圖爲我的Hello World應用程序做類似的事情。請幫助我。

回答

2

這是基本認證支持Servlet技術。這是您如何爲web.xml中的web資源定義基本身份驗證。

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

請在這裏找到一個完整的例子:

<?xml version='1.0' encoding='UTF-8'?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

<web-app> 
     <welcome-file-list> 
      <welcome-file>welcome.jsp</welcome-file> 
     </welcome-file-list> 

     <security-constraint> 
      <web-resource-collection> 
        <web-resource-name>Success</web-resource-name> 
        <url-pattern>/secured/*</url-pattern> 
       <http-method>GET</http-method> 
       <http-method>POST</http-method> 
      </web-resource-collection> 
      <auth-constraint> 
       <role-name>secured</role-name> 
      </auth-constraint> 
     </security-constraint> 

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

     <security-role> 
      <role-name>secured</role-name> 
     </security-role> 
</web-app> 

請閱讀Servlet技術支持多種認證機制下面的鏈接,更多的瞭解:

Standard form authentification Java servlets

+0

嗨,謝謝回覆。但是在一個web應用程序的web.xml文件中,我發現沒有添加安全約束,但它仍然提供了用於身份驗證的彈出窗口。 web.xml文件應該包含細節還是可以用其他方式完成它是強制性的? – mee 2013-03-14 05:57:02

+0

如果您看到彈出窗口,那麼應該是web.xml中定義的BASIC身份驗證。請檢查是否有任何默認的web.xml正在配置它。 – 2013-03-14 06:07:55

+0

它說,服務器XXX需要用戶名和密碼。警告:...(沒有安全連接的基本身份驗證)。但在web.xml文件中,我無法找到安全限制。它只有一個servlet,servlet-mapping,welcome-file List和locale-mapping。 – mee 2013-03-14 06:13:30

相關問題