JSP Tomcat 安全约束总是失败
JSP Tomcat security-constraint always fails
我的 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 所建议的那样基本。
可能您忘记将 security-role 标签放在 security-constraint 标签级别。
<security-role>
<role-name>rolename</role-name>
</security-role>
<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>
看这里的例子
设置看起来正确,当您使用 Netbeans 添加服务器时,您在管理员或管理员脚本角色中配置现有用户和密码,例如,如果您有:
如果您使用嵌入了 Netbeans 的 Tomcat 服务器,则有一个用于 Tomcat 文件的缓存位置,例如:
C:\Users\user\AppData\Roaming\NetBeans.2\apache-tomcat-8.0.27.0_base\conf
如果您使用 Eclipse IDE,缓存文件 tomcat 位于文件夹中:
C:\projects\workspace\Servers\Tomcat v8.5 服务器位于 localhost-config
我的 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 所建议的那样基本。
可能您忘记将 security-role 标签放在 security-constraint 标签级别。
<security-role>
<role-name>rolename</role-name>
</security-role>
<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>
看这里的例子
设置看起来正确,当您使用 Netbeans 添加服务器时,您在管理员或管理员脚本角色中配置现有用户和密码,例如,如果您有:
如果您使用嵌入了 Netbeans 的 Tomcat 服务器,则有一个用于 Tomcat 文件的缓存位置,例如:
C:\Users\user\AppData\Roaming\NetBeans.2\apache-tomcat-8.0.27.0_base\conf
如果您使用 Eclipse IDE,缓存文件 tomcat 位于文件夹中:
C:\projects\workspace\Servers\Tomcat v8.5 服务器位于 localhost-config