在使用shiro 的时候发现,有hasAnyRole 却没有hasAnyPermission的标签,感觉很疑惑,有时我控制页面的显示的时候就是需要这种,比如:
一个菜单下面有3个子菜单
|-菜单栏目一
|——-|–子栏目一
|——-|–子栏目二
像这样,这时,假设子栏目一显示的条件是hasPermission p1, 子栏目二是p2,那么我们可以认为父级(菜单栏一,只需要在有p1或者p2的情况下就显示),这时就需要一个 类似hasAnyRole的标签-hasAnyPermssion ( 当然,实现这种需要还有其他的方法,我暂时没有想到,用shiro 不是很久。。。。)
具体实现时候,实现是一个HasAnyPermissionTag 类,然后把shiro-web.jar 里面的shiro.tld 里面加入自己定义的标签就行
HasAnypermissionTag 代码如果(查看HasAnyRoleTag 就发现,类似的写法)
package org.apache.shiro.web.tags;
import org.apache.shiro.subject.Subject;
/**
* 扩展标签,具有列出权限中的任意一个
* @author yehuan
*
*/
public<