如何限制用户访问控制器的特定操作?

时间:2011-05-16 09:27:37

标签: grails permissions controller action

HI。 我有两个用户用于我的app.one是管理员n其他访问者..我在我的控制器中有两个操作。管理员可以对两者都采取行动但我希望限制访问者访问第二个动作。如何实现它?

预先等待答复,

2 个答案:

答案 0 :(得分:1)

Spring安全插件是要走的路。 http://grails.org/plugin/spring-security-core

我建议使用注释方法。在博文http://blog.springsource.com/2010/08/11/simplified-spring-security-with-grails/

中有一个关于使用注释的部分

我建议完整阅读上述博客文章

E.g。控制器动作将像......一样得到保护。

//all users
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def firstAction = { ... }

//only admin
@Secured(['ROLE_ADMIN'])
def secondAction = { ... }

如果您不想强迫用户始终登录,该插件还会提供“记住我”选项

答案 1 :(得分:0)

我建议使用控制器拦截器http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1控制器

或安装Spring Security Core插件http://www.grails.org/plugin/spring-security-core