我有一个使用Grails和Spring Security插件进行身份验证和授权的webapp。
我对业务有一个新要求,即他们想要在登录系统时强制所有用户,显示我们当前的许可协议或t& cs,用户需要接受这些,然后才能进一步进入系统。
显然,一旦他们接受了许可证/ t& cs,那么我们在将来的登录时不会再问他们。
Spring Security是否以任何方式支持此操作?或者你能推荐另一个grails插件吗?
答案 0 :(得分:0)
这样做的一种方法是向User类添加一个新字段(例如hasAcceptedLicense),在登录时将用户重定向到defaultUrl(http://docs.spring.io/spring-security/site/docs/3.2.3.RELEASE/apidocs/org/springframework/security/web/authentication/SavedRequestAwareAuthenticationSuccessHandler.html),在那里他们需要阅读并接受许可,以及然后有一个AccessDecisionVoter(http://grails-plugins.github.io/grails-spring-security-core/v3/index.html#voters),确保他们这样做。