弹簧安全用户协议页面

时间:2014-02-07 17:01:59

标签: spring spring-mvc spring-security

我需要在我的启用spring-security的应用程序中实现用户必须同意的EULA页面,我想知道最好的方法是什么。 我当前的实现是使用authentication-success-handler-ref将已成功通过身份验证的用户重定向到EULA页面(如果尚未接受)。这很好用,但问题是我不能强迫用户接受EULA,因为用户已经过身份验证,他/她可以简单地更改URL并继续他们的快乐方式。

我在想,也许过滤器是合适的?一个过滤器,它将位于过滤器链的最后一个位置,如果尚未被接受,则将用户重定向到EULA页面,或者只是让它通过。那么EULA页面应该在intercept-url中有permitAll吗?

或者可能是一种完全不同的方法(自定义表达式评估器?)。

最好的方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

我喜欢过滤器的想法。

具体的访问级别取决于匿名用户是否必须接受EULA。如果是这样,那么permitAll就有意义了。如果您需要对EULA进行身份验证和长期跟踪,请在帐户中添加eulaAgreed属性,并在EULA页面上使用isAuthenticated