shiro-web 添加tag 使标签可以进行 ‘或’ 判断

一下结果皆为百度所得:

使用方式

<shiro:hasAnyPermission name="statement:list,cinema:list,filter:list">


修改方式:

修改shiro-web.jar  目录shiro-web-1.2.4.jar\META-INF\shiro.tld

简易使用winrar右键打开压缩包可直接更新替换压缩文件

taglib内添加tab


    hasAnyPermission
    cn.xx.xx.util.HasAnyPermissionTag
    JSP
    Displays body content only if the current Subject (user)
      'has' (implies) the specified permission (i.e the user has the specified ability).
   

   
      name
      true
      true
   

 


tag-class可修改为自己的项目路径,不嫌麻烦可以自己编译一下


HasAnyPermissionTag:

import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.tags.PermissionTag;

/**
 * 扩展标签,具有列出权限中的任意一个
 * @author yehuan
 *
 */
public class HasAnyPermissionTag extends PermissionTag {
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    public HasAnyPermissionTag() {

    }

    protected boolean showTagBody(String permissions) {
        boolean hasAnyPermissions = false;

        Subject subject = getSubject();

        if (subject != null) {
            for (String role : permissions.split(",")) {

                if (subject.isPermitted(role.trim())) {
                    hasAnyPermissions = true;
                    break;
                }
            }
        }
        return hasAnyPermissions;
    }

}





你可能感兴趣的:(shiro-web 添加tag 使标签可以进行 ‘或’ 判断)