首页 > 其他分享 >struts2 中一个值得参考的小地方

struts2 中一个值得参考的小地方

时间:2022-12-02 11:06:47浏览次数:32  
标签:值得 constant String 参考 int flag struts2 allConstant 权限


  在struts2中,今天看到一个简单的做权限的方法,小结如下,也就是最传统的角色的做法,比如:
1 定义各个菜单项的编码,
   <s:set name="ADBANNER_CREAT" value="101"/>
<s:set name="ADBANNER_UPDATE" value="102"/>
<s:set name="ADBANNER_DELETE" value="103"/>
<s:set name="ADBANNER_LOOK" value="104"/>
<s:set name="ADVERTISMENT_CREAT" value="201"/>
<s:set name="ADVERTISMENT_UPDATE" value="202"/>
<s:set name="ADVERTISMENT_DELETE" value="203"/>

 如此类推

2 之后将每个用户的角色保存起来,比如userid=1的角色可以为101,203,202

3 在调用每个菜单项的时候,这样判断,
    <s:if test="@com.kemp.util.confighand@handleValidate('30',#session.rolecontent) == 1">
   p = new createPanel('adveradmin','客户管理');

.........

 这里注意<s:if test="@com.kemp.util.confighand@handleValidate('30',#session.rolecontent) == 1">的写法哦

  这里将之前用户登陆后,提取数据库中的一长串101,203,202,放到rolecontent的session中去了.之后调用
com.kemp.util.confighand类中的handleValidate方法去判断,判断当前用户的权限中是否包含30系列的权限,如果等于1的话,则继续做下面的事情.

 /**
    * 判断allconstant中是否有constant中指定的权限
    * @param constant 表示某个特定的权限
    * @param allConstant 表示有某用户目前有的权限,用,隔开
    * @return
    */
   public static int handleValidate(String constant, String allConstant){
    int flag = 0;
    String con[] = allConstant.split(",");
    for(int i=0;i<con.length;i++){
     if(con[i].startsWith(constant)){
      flag = 1;
      break;
     }
    }
    return flag;
   }

标签:值得,constant,String,参考,int,flag,struts2,allConstant,权限
From: https://blog.51cto.com/u_14230175/5906223

相关文章

  • struts2 中的拦截器例子快速进阶
    小结了struts2中拦截器的一个例子,以方便快速进阶的.比如有个很典型的例子,要求在编辑数据或者增加数据前,必须要先判断用户是否登陆.则我们先在src目录下,建一个包strut......
  • PowerScript语法参考手册之语言基础
    PowerScript语法参考手册​前言:本文用于PowerBuilder12.6程序员,PowerBuilder最初由Sybase发布,能很快捷开发C/S程序或者多层应用系统。SAP以58亿美元现金收购Sybase以抗衡甲......
  • 10个CSS3动画工具,值得你收藏!
    人类对于运动的食物往往会投入更多的关注,因此巧妙的使用动画能够极大地提升网站的用户体验,快速唤起用户对重要元素的关注。在css3中引入了全新的动画语法,它能够帮助你在设计......
  • Spring Cloud Azure 适配器参考
    微软AzureAzure适配器启动Spring云函数上下文,并从Azure引导函数调用框架到用户函数中,必要时使用Spring引导配置。AzureFunctions具有相当独特和侵入性编程模型,涉......
  • Spring Cloud GCP 适配器参考
    谷歌云函数GoogleCloudFunctions适配器使SpringCloudFunction应用程序能够在GoogleCloudFunctions无服务器平台上运行。您可以使用开源的GoogleFunctionsFrame......
  • 博云:Kubernetes 近年影响最大版本发布,这几点值得关注
    近几年影响最大版本来袭2022年5月3日,Kubernetes1.24正式发布。这个版本的发布可以说是“姗姗来迟”和“万众瞩目”,因为此次发布对Kubernetes社区会带来深远影响。......
  • 生产环境连接池和线程池配置参考
    <beanid="dataSource1"class="org.apache.commons.dbcp.BasicDataSource"><propertyname="driverClassName"value="${db.jdbc.driverClassName}"/><propertynam......
  • 生产环境服务器磁盘配置参考
    1.简介在“Linux系统生产环境配置指南”​​https://blog.51cto.com/waringid/5782872​​中简要说明了生产环境物理服务器的配置要求,在实际的业务环境需要综合考虑性能......
  • EventTarget.addEventListener() - Web API 接口参考
    EventTarget.addEventListener()-WebAPI接口参考  https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener#%E8%AF%AD%E6%B3%95  <......
  • 【面试题】 经典但依然超难做的 前端面试题 (值得收藏)
    给大家推荐一个实用面试题库1、前端面试题库(面试必备)      推荐:★★★★★地址:前端面试题库最近我的一些学员比较膨胀,认为已经精通了HTML、CSS、JavaScript......