【发布时间】:2012-11-30 16:23:35
【问题描述】:
这里是场景。我有两个对象Users(带有用户名/密码)和UserInfo,其余的数据与用户相关。 Users 是一个包含数千条记录的旧表,UserInfo 是相当新的。我想在用户首次登录时尽可能多地获得UserInfo。
我想在第一次登录后强制用户进入自定义屏幕并询问UserInfo 数据。在新屏幕中获得“必需”数据后,直到用户自愿填写“个人资料”下的数据时,我才会显示它。
由于应用程序有多个入口点,我不想更新所有控制器来检查这一点。
有没有办法可以使用Spring Security filter 或在成功登录时执行的东西?我查看了ApplicationListener<AuthenticationSuccessEvent>,但它并没有解决问题,就像我将链接复制粘贴到浏览器中一样,它让我无需询问“额外信息”就可以前往目的地。
简而言之,我希望在每次登录后进行检查,如果失败,则不允许用户进入应用程序。无论他如何尝试进入。
【问题讨论】:
-
您可以使用常规 Grails 过滤器来完成此操作,如下所述:grails.org/doc/latest/guide/theWebLayer.html#filters
标签: authentication grails groovy spring-security