我需要在我的启用spring-security的应用程序中实现用户必须同意的EULA页面,我想知道最好的方法是什么。 我当前的实现是使用authentication-success-handler-ref将已成功通过身份验证的用户重定向到EULA页面(如果尚未接受)。这很好用,但问题是我不能强迫用户接受EULA,因为用户已经过身份验证,他/她可以简单地更改URL并继续他们的快乐方式。
我在想,也许过滤器是合适的?一个过滤器,它将位于过滤器链的最后一个位置,如果尚未被接受,则将用户重定向到EULA页面,或者只是让它通过。那么EULA页面应该在intercept-url中有permitAll吗?
或者可能是一种完全不同的方法(自定义表达式评估器?)。
最好的方法是什么?
谢谢。
答案 0 :(得分:0)
我喜欢过滤器的想法。
具体的访问级别取决于匿名用户是否必须接受EULA。如果是这样,那么permitAll
就有意义了。如果您需要对EULA进行身份验证和长期跟踪,请在帐户中添加eulaAgreed
属性,并在EULA页面上使用isAuthenticated
。