我为grails使用shiro插件,并允许用户在运行时添加权限。 我的控制器有很多动作,如索引,列表,编辑,创建,保存,更新,搜索,删除.... 假设控制器名称为“foo” 简单foo控制器的权限字符串是 FOO:* 意味着拥有此权限的每个人都可以访问foo控制器的所有操作。 但如果我只想拒绝删除操作,我必须编写权限字符串 喜欢这个foo:索引,列表,编辑,创建,保存,更新,搜索 如果我的控制器具有超过此操作的操作,那么这可以解决但是权限字符串很长。 如果有像这样的语法会更好:[删除] 添加方括号或类似的东西仅拒绝删除操作但允许其余操作。
提前谢谢。
答案 0 :(得分:0)
您可以继承WildCardPermission类。然后你覆盖implies-method并实现你自己的“deny-only”权限逻辑。