1
我在我的jsf应用程序(j_security)中使用基于容器的安全性,使用glassfish为受保护页面上的用户进行身份验证。但是,在应用程序中,我有更多受限制的页面,即使用户登录时也需要重新输入密码。创建多个约束不会有帮助,因为会话已经生效。安全双重检查
这是如何实现的?
我在我的jsf应用程序(j_security)中使用基于容器的安全性,使用glassfish为受保护页面上的用户进行身份验证。但是,在应用程序中,我有更多受限制的页面,即使用户登录时也需要重新输入密码。创建多个约束不会有帮助,因为会话已经生效。安全双重检查
这是如何实现的?
您可以使用servlet过滤器说“SecondAuth”,您可以通过引用会话标志来检查用户是否已第二次验证身份;如果没有,你可以重定向到第二个认证页面。请记住将请求的URL存储在会话变量中。一旦用户再次成功认证,您可以重定向到所请求的页面。
您可以通过如下web.xml配置保护的多个页面:
的web.xml
<filter>
<filter-name>secondauth</filter-name>
<filter-class>com.auth.SecondAuth</filter-class>
</filter>
<filter-mapping>
<filter-name>secondauth</filter-name>
<url-pattern>/app/secure1.jsp</url-pattern>
<url-pattern>/app/secure2.jsp</url-pattern>
</filter-mapping>
关于如何使用Servlet过滤器,你可以参考How to use a servlet filter in Java to change an incoming servlet request url?