在Grails 2中保护操作rc3

时间:2011-12-14 03:51:42

标签: grails spring-security

在Config.groovy中,我决定保护所有与编辑内容有关的操作:

grails.plugins.springsecurity.interceptUrlMap = [
        '/admin/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],

        '/*/create/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/save/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/update/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/edit/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],

        '/contactUs/create/new_message.html' : ['IS_AUTHENTICATED_ANONYMOUSLY'],
        '/**':               ['IS_AUTHENTICATED_ANONYMOUSLY']


]

...只是想知道这是否足够还是我在寻找麻烦?或者在所有控制器中保护所有“创建,保存,更新,编辑”操作的更好/正确方法是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

只有两个想法...

  • 删除对象怎么样?我猜这个配置,每个人都可以匿名删除
  • 这让我想到了第二点:您使用黑名单实现安全性(未经身份验证的控制器和操作应该是什么),但您应该通过白名单实现安全性(控制器和操作是什么)哪些是未经认证的可访问的)。第二个方法可以避免“删除”问题。

PS:我使用shiro,所以我没有弹簧安全经验,也不知道如何将控制器和操作列入白名单。