【发布时间】:2014-03-05 05:05:31
【问题描述】:
我需要在启用 spring-security 的应用程序中实现用户必须同意的 EULA 页面,我想知道最好的方法是什么。 我当前的实现是使用 authentication-success-handler-ref 将成功通过身份验证的用户重定向到 EULA 页面(如果它尚未被接受)。这很好用,但问题是我不能强迫用户接受 EULA,因为用户已经过身份验证,他/她可以简单地更改 URL 并继续他们的快乐方式。
我在想也许过滤器是合适的?一个过滤器,它位于过滤器链中的最后一个,如果它尚未被接受,则将用户重定向到 EULA 页面,或者如果它被接受,则让它通过。那么 EULA 页面是否应该在 intercept-url 中有 permitAll ?
或者可能是完全不同的方法(自定义表达式评估器?)。
解决此问题的最佳方法是什么?
谢谢。
【问题讨论】:
-
一种方法是在用户接受 EULA 时分配有效的用户角色 (GrantedAuthority)。当用户具有该角色时,应允许访问应用程序的其他部分。
标签: spring spring-mvc spring-security