如何储存网址,被拒绝通过一个安全过滤器,去它的用户登录后
-
19-08-2019 - |
题
我使用的应用程序托管安全为一个内联网网应用程序。
我有在我的下一个过滤器web.xml 文件:
<filter>
<filter-name>employeeAccessFilter</filter-name>
<filter-class>security.AuthorizationFilter</filter-class>
<init-param>
<param-name>roles</param-name>
<param-value>employee</param-value>
</init-param>
<init-param>
<param-name>onError</param-name>
<param-value>../index.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>employeeAccessFilter</filter-name>
<url-pattern>/corporate/*</url-pattern>
</filter-mapping>
index.html 包含一个登录框。当一个用户登录在他们走到仪表板的内联网。过滤运作良好。
看一看以下情况:
- 有人得到电子邮件与一个内联网网页,例如: http://appname.com/corporate/page.do?id=6
- 他的点击的链接,他的默认浏览器有饼干储存,他被自动记录,并将该网页是正确显示。
但是:
- 有人得到电子邮件与一个内联网页的链接,如: http://appname.com/corporate/page.do?id=6
- 他的点击的链接,他的默认浏览器没有一个应用程序饼干那么他是不会自动记录。他被重新定向到的登陆屏幕上。他的日志中而他去到仪表板,而不是页中提到的链接。
是有一个简单的方法来解决这个?
我已经基本上有两种思路:
B) 使用的基本-容器管理安全,这将解决这一问题。
A) -实施内的认证过滤机制的商店被拒绝的网址的请求属性。-把拒绝的网址作为一个隐藏的场的登录框。-改变的逻辑登录使用的场url而不是总是仪表板。
他们两个看起来像一位工作?任何人有一个更好的主意吗?
解决方案
大多数网站需要登录似乎没有使用方法A例如,在栈溢出的,如果你访问的页面需要登录的,你得到重新定向到 /users/login?returnurl=...
, ,这会导致一个 returnurl
现场发作为一个隐藏的领域中登录的形式。
不隶属于 StackOverflow