身份验证如何弹出

问题描述:

我有一个非常简单的疑问,我知道大多数人可能会对此问题投下一票。但是由于我对Web应用程序很陌生,我不知道它是如何产生的。身份验证如何弹出

问:每当我登录到某个Web应用程序时,都会弹出一个请求进行身份验证的请求。有些东西与此类似,

警告:此服务器正在请求以不安全的方式(没有安全连接的基本身份验证)发送您的用户名和密码。

设置完成的地方在哪里?我试图为我的Hello World应用程序做类似的事情。请帮助我。

这是基本认证支持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