【问题标题】:spring security user agreement pageSpring Security 用户协议页面
【发布时间】: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


【解决方案1】:

我喜欢过滤器的想法。

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

【讨论】:

    猜你喜欢
    • 2016-11-13
    • 2016-07-09
    • 2011-11-13
    • 2015-12-24
    • 2014-01-19
    • 2020-01-05
    • 2017-08-05
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多