我正在Grails上使用Jsecurity插件,我想知道如何在可能的情况下为数据库中的每个页面设置权限。
就像存储以下规则:
等...
目前,我们在conf / SecurityFilters.groovy中做到了,如下所示
menuEditing(controller:"menu"){
before = {
accessControl {
role("Administrator");
}
}
}
是否可以将规则存储在数据库中而不是写在安全过滤器上?
ps:我认为jsecurity将其名称更改为Apahce Shiro
link text
最佳答案
您可以创建一个用户过滤器,该过滤器将jsecurity调用到checkPermission。
例如,如果您可以根据 Controller ,操作和ID确定授权,则可以使用此过滤器
permissionCheck() {
before = {
SecurityUtils.getSubject().ceckPermission("${controller}:${action}:${id}")
}
}
和一个使用数据库检查此权限的 Realm 。
关于grails - jsecurity:如何设置数据库权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1236698/