在 web.xml 安全约束中配置例外
Configuring an exception in web.xml security-constraint
我知道已经有其他帖子类似我的疑惑,但问题是我无法解决问题。
我有一个必须使用名称 "passport.jsp" 映射的 servlet,因为外部应用程序(无法更改调用)通过 URL http://myipserver:portserver/nameApplication/passport.jsp?xxx 发出请求
我的 web.xml 在这里:
<servlet-mapping>
<servlet-name>PortalServlet</servlet-name>
<url-pattern>/passport.jsp</url-pattern>
</servlet-mapping>
问题是我的安全约束的映射覆盖了 servlet passport.jsp 的定义,因为映射“*.jsp”。
<security-constraint>
<display-name>EsconderJSP</display-name>
<web-resource-collection>
<web-resource-name>JSP</web-resource-name>
<description/>
<url-pattern>*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>jsps</role-name>
</auth-constraint>
</security-constraint>
有人知道怎么解决吗?您可以添加 servlet“/passport.jsp”作为例外。
感谢您的关注。
您可以在它上面添加另一个没有保护的安全约束
<security-constraint>
<web-resource-collection>
<url-pattern>/passport.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
或者您可以将应用程序请求更改为从不同的内容开始以进行保护。这将使护照申请不受保护。
http://myipserver:portserver/nameApplication/otherRequests/foobar.jsp
http://myipserver:portserver/nameApplication/passport.jsp
那就只保护/otherRequests/*
<url-pattern>/otherRequests/*</url-pattern>
我解决了只是在我的 web.xml(其他安全约束)
中添加一个新标签
<security-constraint>
<web-resource-collection>
<web-resource-name>free pages</web-resource-name>
<url-pattern>/passport.jsp</url-pattern>
</web-resource-collection>
</security-constraint>
安,它正在工作。谢谢
我知道已经有其他帖子类似我的疑惑,但问题是我无法解决问题。 我有一个必须使用名称 "passport.jsp" 映射的 servlet,因为外部应用程序(无法更改调用)通过 URL http://myipserver:portserver/nameApplication/passport.jsp?xxx 发出请求 我的 web.xml 在这里:
<servlet-mapping>
<servlet-name>PortalServlet</servlet-name>
<url-pattern>/passport.jsp</url-pattern>
</servlet-mapping>
问题是我的安全约束的映射覆盖了 servlet passport.jsp 的定义,因为映射“*.jsp”。
<security-constraint>
<display-name>EsconderJSP</display-name>
<web-resource-collection>
<web-resource-name>JSP</web-resource-name>
<description/>
<url-pattern>*.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>jsps</role-name>
</auth-constraint>
</security-constraint>
有人知道怎么解决吗?您可以添加 servlet“/passport.jsp”作为例外。
感谢您的关注。
您可以在它上面添加另一个没有保护的安全约束
<security-constraint>
<web-resource-collection>
<url-pattern>/passport.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
或者您可以将应用程序请求更改为从不同的内容开始以进行保护。这将使护照申请不受保护。
http://myipserver:portserver/nameApplication/otherRequests/foobar.jsp
http://myipserver:portserver/nameApplication/passport.jsp
那就只保护/otherRequests/*
<url-pattern>/otherRequests/*</url-pattern>
我解决了只是在我的 web.xml(其他安全约束)
中添加一个新标签<security-constraint>
<web-resource-collection>
<web-resource-name>free pages</web-resource-name>
<url-pattern>/passport.jsp</url-pattern>
</web-resource-collection>
</security-constraint>
安,它正在工作。谢谢