我如何为 tomcat 主目录下的特定 Web 应用程序添加身份验证,以便如果有人尝试通过 Web 浏览器访问,他应该会弹出一个用户名和密码。
我知道我需要编辑 tomcat_users.xml 和 web.xml ,但究竟是哪个 web.xml(在 webapps/appname/WEB-INF 或 TOMCAT_HOME/conf 下)?文件应该有什么内容?
最佳答案
要利用 SSL 协议(protocol),应修改 DD web.xml
文件,以便标签包含指示安全要求的标签。
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Secure Area</web-resource-name>
<url-pattern>/secure/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
<auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
标签有两个合法值,INTEGRAL 和 CONFIDENTIAL。前者要求保证数据在传输过程中不发生变化,后者要求保证数据在传输过程中不被未授权的第三方读取。 secret 保证意味着完整。
我们还需要启动基于表单的身份验证,这需要对 Web 部署计划进行以下配置更改。
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
或者可能是this链接会帮助你
关于web-applications - tomcat web应用程序身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8076140/