本文介绍了在Grails 2 rc3中确保操作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  grails.plugins .springsecurity.interceptUrlMap = [$ b $'/ admin / **':['ROLE_ADMIN','IS_AUTHENTICATED_FULLY'],
$ b $'/ * / 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']


]

...只是想知道这是否足够或者我是否在寻求麻烦?或者,在所有控制器中保护所有创建,保存,更新,编辑动作的更好/正确的方法是什么?
在此先感谢。

解决方案




  • 删除对象怎么办?我想用这个配置,每个人都可以匿名删除

  • ,这让我想到了第二点:你用黑名单实现安全性(控制器和操作应该是不可访问的),但是你应该通过一个白名单实现安全性(什么是可以访问的未认证的控制器和动作)。第二种方法可以避免'删除'问题。



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


In Config.groovy I decided to secure all actions that have to do with editing content like so:

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']


]

... just wonder if this is sufficient or am I asking for trouble? Or what would be better/proper way of securing all 'create,save,update,edit' actions in all controllers?Thanks in advance.

解决方案

just two thoughts...

  • what about deleting objects? I guess with this config, everybody can delete anonymously
  • and that brings me to my second point: you implement security with a black list (what are the controllers and actions which should be not accessible unauthenticated), but you should implement security through a white list (what are the controllers and actions which are accessible unauthenticated). The second aproach would have avoided the 'delete' problem.

PS: I use shiro, so I have no experience with spring security and don't know how to whitelist controllers and actions.

这篇关于在Grails 2 rc3中确保操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 18:48