jsp自定义标签实现权限拦截

您所在的位置:网站首页 qq自定义标签高冷 jsp自定义标签实现权限拦截

jsp自定义标签实现权限拦截

2024-07-15 13:31| 来源: 网络整理| 查看: 265

最近项目需要要实现在页面端一个权限拦截功能。具体需求是,一个用户登陆到系统后,判断他是否有执行某个功能的权限,如果有权限,则功能键对该用户可见;否则的话,不可见。要实现此功能,自定义标签无疑是一种很好的解决办法。具体方法如下:(语言java、页面实现jsp、开发工具myeclipse6.5)

1、编写标签类,标签类就是普通的java类,只是该类要继承TagSupport类。

2、建立TLD文件,定义表达式函数。

3、在JSP页面内导入并且使用。

案列说明:

1、编写标签类

     public class PermissionTag extends TagSupport { //模块   private String module;   //模块中具体权限   private String privilege;     public String getModule() {    return module;   }   public void setModule(String module) {    this.module = module;   }   public String getPrivilege() {    return privilege;   }   public void setPrivilege(String privilege) {    this.privilege = privilege;   }   @Override   public int doStartTag() throws JspException {    boolean result = false;    User user = WebUtil.getUser((HttpServletRequest) pageContext.getRequest());//WebUtil是自定义的工具类,获取此时登陆的用户    SystemPrivilege privilege = new SystemPrivilege(new SystemPrivilegePK(this.module,this.privilege));    for(PrivilegeGroup privilegeGroup : user.getGroups()){//循环检测用户具有的权限组     privilegeGroup.getPrivileges().contains(privilege);//用户的权限是否包含功能权限     result = true;     break;    }    return result? EVAL_BODY_INCLUDE : SKIP_BODY;//真:返回EVAL_BODY_INCLUDE(执行标签);假:返回SKIP_BODY(跳过标签不执行)  } }

 

2、建立TLD文件,该文件要放在类文件夹下META-INF下。

 

yuguan wuxipolice permission taglib permission taglib 1.0 yunguan http://www.wuxipolice.cn/

权限校验标签,有权限就显示标签体的内容,否则不显示 permission com.yg.web.taglib.PermissionTag JSP module true false privilege true false

 

3、在JSP页面内导入并且使用。

 

引入

.........省略

           

........省略

文章出处: https://blog.csdn.net/lichao3459/article/details/8266924



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3