如何锁定Grails spring-security-ui控制器?

时间:2011-10-20 20:44:35

标签: grails spring-security

我正在创建我的第一个Grails应用程序,并使用spring-security-core和spring-security-ui。我已经锁定了我在我的应用程序中创建的控制器,但是任何未经身份验证的用户都可以访问spring-security-ui控制器这一事实还有一个漏洞。将访问权限限制为特定角色的正确方法是什么?

我正在考虑在每个控制器上运行s2ui-override,然后在类级别实现安全注释。这是一个合理的方法吗?

1 个答案:

答案 0 :(得分:12)

我通常使用Config.groovy中的应用程序控制器和静态规则的注释作为spring-security和spring-security-ui等插件提供的控制器:

grails.plugins.springsecurity.controllerAnnotations.staticRules = [
    '/aclClass/**': ['ROLE_ADMIN'],
    '/aclSid/**': ['ROLE_ADMIN'],
    '/aclObjectIdentity/**': ['ROLE_ADMIN'],
    '/aclEntry/**': ['ROLE_ADMIN'],
    '/persistentLogin/**': ['ROLE_ADMIN'],
    '/requestmap/**': ['ROLE_ADMIN'],
    '/securityInfo/**': ['ROLE_ADMIN'],
    '/registrationCode/**': ['ROLE_ADMIN'],
    '/role/**': ['ROLE_ADMIN'],
    '/user/**': ['ROLE_ADMIN'],
    '/console/**': ['ROLE_ADMIN'],

    '/register/**': ['IS_AUTHENTICATED_ANONYMOUSLY']
]