web-applications - tomcat web应用程序身份验证

标签 web-applications authentication tomcat

我如何为 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/

相关文章:

php - 用户名密码哈希/sha1() 函数不起作用

azure - 无法从 AAD 获取不记名 token 来使用 Web API

java - Tomcat7 未在我的 Java Web 应用程序中加载欢迎页面

html - 移动html5离线缓存动态页面

database - 完全菜鸟在小型私立学前类/幼儿园为学生和教师创建安全的网络数据库?

c# - 不稳定的连接 - 喜欢网络还是桌面应用程序?

java - 阻止用户向页面发出 GET 请求

java - spring security - 身份验证中的sessionId为空

java - spring + tomcat + axis2 == jax-ws 网络服务?

java - 尽管保留了所有内容,但无法使用 log4j 生成日志文件