我正在使用 spring-security-core ,我有十多个控制器,我想检查用户是否已登录所有操作,我知道一种方法{{1}在所有动作中,还有其他方法可以做到这一点,而不是在所有动作/控制器中编写相同的逻辑
答案 0 :(得分:3)
如果您想完全拒绝访问这些操作,可以通过以下几种方式进行操作。
您可以将@grails.plugins.springsecurity.Secured
注释放在控制器类或操作方法上。您还可以通过创建请求映射来指定需要通过URL进行身份验证的内容。您可以创建一个Requestmap域对象,也可以使用Config.groovy
地图在grails.plugins.springsecurity.controllerAnnotations.staticRules
中创建静态请求地图。
Spring Security Core manual中有更多详细信息。
答案 1 :(得分:1)
如果是我,我会更进一步ataylors回答。按照他的说法,但不是在所有控制器中复制和粘贴相同的代码,只需将其放入Controller.groovy
模板中,然后运行generate-all
命令。模板对于这样的事情是非常强大的,如果你保持模板是最新的,你可以根据需要轻松更改10个控制器或100个控制器,如果/当你的应用程序发展。
如何安装模板:
http://grails.org/doc/latest/ref/Command%20Line/install-templates.html