当前位置: 首页 > news >正文

闵行营销型网站建设邢台建站

闵行营销型网站建设,邢台建站,电子商务网站建设总结与体会,网站建设的外文参考文献前言#xff1a;RuoYi框架中#xff0c;菜单管理的权限标识字段通常用于定义用户对特定菜单或操作的访问权限。 这个权限标识字段通常会被用在两个地方#xff1a; 1. 后端#xff1a;在Spring Security的PreAuthorize注解中#xff0c;用于控制对特定方法的访问。例如RuoYi框架中菜单管理的权限标识字段通常用于定义用户对特定菜单或操作的访问权限。 这个权限标识字段通常会被用在两个地方 1. 后端在Spring Security的PreAuthorize注解中用于控制对特定方法的访问。例如PreAuthorize(hasAuthority(monitor:job:add))会在执行方法前检查用户是否具有monitor:job:add这个权限。 2. 前端在Vue.js的v-hasPermi指令中用于控制基于权限的UI元素的显示和隐藏。例如v-hasPermi[monitor:job:add]会检查用户是否具有monitor:job:add这个权限如果有那么相关的UI元素就会显示。 通过这种方式RuoYi框架可以实现精细的基于权限的访问控制确保只有具有相应权限的用户才能访问特定的资源。 详细整理如下 当用户登录系统的时候会调用getInfo接口在该接口中会将用户、权限、角色等集合信息返回给前端。 获取用户信息 从request请求中获取token进而获取用户信息 LoginUser loginUser tokenService.getLoginUser(ServletUtils.getRequest()); 获取角色集合 根据userId获取当前用户角色集合 SetString roles roleService.selectRolePermissionByUserId(user.getUserId()); 核心的sql语句 匹配出当前用户拥有哪些角色 select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope,r.status, r.del_flag, r.create_time, r.remark from sys_role rleft join sys_user_role ur on ur.role_id r.role_idleft join sys_user u on u.user_id ur.user_idleft join sys_dept d on u.dept_id d.dept_idWHERE r.del_flag 0 and ur.user_id #{userId} 获取权限集合 通过user对象获取当前用户的权限集合 SetString permissions permissionService.getMenuPermission(user); 核心sql语句 通过userId获取当前用户所有角色的所有权限 select distinct m.permsfrom sys_menu mleft join sys_role_menu rm on m.menu_id rm.menu_idleft join sys_user_role ur on rm.role_id ur.role_idleft join sys_role r on r.role_id ur.role_idwhere m.status 0 and r.status 0 and ur.user_id #{userId} PreAuthorize注解工作流程 用户此时已经登陆系统假设用户操作的是角色管理模块的查询按钮当点击该按钮时会通过网络映射到后端的接口方法。 当这个请求到达被PreAuthorize注解的方法时Spring Security的拦截器会拦截这个请求。 拦截器会获取到PreAuthorize注解中的表达式并使用Spring EL表达式语言对其进行求值。这个过程通常会涉及到当前用户的认证信息例如用户的角色、权限等。根据表达式的求值结果Spring Security会做出访问控制决策。如果表达式求值为true那么请求会被允许继续执行如果表达式求值为false那么请求会被拒绝通常会返回一个HTTP 403 Forbidden错误。 PreAuthorize(ss.hasPermi(system:role:list))GetMapping(/list)public TableDataInfo list(SysRole role){startPage();ListSysRole list roleService.selectRoleList(role);return getDataTable(list);} /*** 验证用户是否具备某权限* * param permission 权限字符串* return 用户是否具备某权限*/public boolean hasPermi(String permission){if (StringUtils.isEmpty(permission)){return false;}LoginUser loginUser tokenService.getLoginUser(ServletUtils.getRequest());if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())){return false;}return hasPermissions(loginUser.getPermissions(), permission);} 如果当前用户的权限集合中包含当前被PreAuthorize标注的方法的权限则返回true。 /*** 判断是否包含权限* * param permissions 权限列表* param permission 权限字符串* return 用户是否具备某权限*/private boolean hasPermissions(SetString permissions, String permission){return permissions.contains(ALL_PERMISSION) || permissions.contains(StringUtils.trim(permission));} 如果请求被允许继续执行那么被PreAuthorize注解的方法会被调用。
http://www.pierceye.com/news/178769/

相关文章:

  • 视频直播网站开发 设计网站做的文字乱码
  • 江苏省建设执业中心网站wordpress婚礼模板下载
  • 互联网网站开发html5怎么做网站可以注册的
  • 公司网站建设前期方案经典设计产品
  • 南昌市公司网站建设品牌建设浅谈
  • 网站实现留言功能吗制作视频用什么app
  • 聊城企业网站建设公司网页版wordpress教程视频
  • 网上购物的网站开发背景wordpress more标签使用教程
  • 多语言网站建设方案新建网站的价格
  • 企业网站服务器的选择企业网站建设市场分析
  • 阜阳做网站的公司网页制作自学教程
  • 阿里巴巴吧网站怎么做网页设计师属于什么部门
  • 望京网站建设公司红酒专业网站建设
  • 兰州市城市建设设计院网站游戏网站搭建需要多少钱
  • 网站建设易客vi设计公司 深圳
  • 白银网站运行网站建设客户去哪里找
  • 建湖网站设计云浮网站设计
  • 招聘网站的简历可以做几份vue可以做pc网站吗
  • 高端个性化网站建设版面设计经历了哪几个阶段
  • wordpress本地图片一个网站完整详细的seo优化方案
  • 试玩网站怎么做5g影视
  • 宝宝投票网站怎么做网站首页添加代码
  • 网站开发分类网站建设的目标
  • 做旅游的网站有哪些专业做鞋子的网站
  • 深圳旅游网站开发新余网络推广
  • 平台网站建设ppt雪梨直播
  • 建设外贸类网站互联网下的网络营销
  • 网站开发需要的知识WordPress要什么环境
  • wordpress 多站点设置欧洲c2c平台
  • 赤峰网站开发公司做网站的公司怎么推销