3

我有一个非常简单的疑问,我知道你们中的大多数人可能会对这个问题投反对票。但由于我对 Web 应用程序非常陌生,所以我不知道它是如何出现的。

问题:每当我登录某个 Web 应用程序时,我都会收到一个要求进行身份验证的弹出窗口。类似的东西,

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

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

4

1 回答 1

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 技术支持的几种身份验证机制:

标准形式的认证 Java servlet

于 2013-03-14T05:42:06.497 回答