我的 web.xml 中有以下内容
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>rolename</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>rolename</role-name>
</security-role>
并且在我的 tomcat-users.xml 文件中还有以下内容:
<role rolename="rolename"/>
<user username="username" password="password" roles="rolename"/>
当我尝试导航到我的本地主机站点时,会出现“需要身份验证”对话框,但即使我输入了正确的凭据,对话框也会自行刷新,没有任何反应。
为什么这不起作用?似乎不像 auth-method 所建议的那样基本。
最佳答案
设置看起来是正确的,当您在添加服务器时使用 Netbeans 时,您在管理员或管理员脚本角色中配置现有用户和密码,例如,如果您有:
如果您使用嵌入了 Netbeans 的 Tomcat 服务器,则有一个用于 Tomcat 文件的缓存位置,例如:
C:\Users\user\AppData\Roaming\NetBeans\8.2\apache-tomcat-8.0.27.0_base\conf
如果您使用 Eclipse IDE,缓存文件 tomcat 将保留在文件夹中:
C:\projects\workspace\Servers\Tomcat v8.5 服务器在 localhost-config
关于java - JSP Tomcat 安全约束总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44522659/