我有一个非常简单的疑问,我知道你们中的大多数人可能会对这个问题投反对票。但由于我对 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 技术支持的几种身份验证机制: