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

网上课程网站成都seo优化公司

网上课程网站,成都seo优化公司,wordpress+图片库,网站实现步骤及方法是如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!! 四 权限管理(用户授权)的应用:根据用户的角色显示不同用户的权限菜单 经过上面的与第三方系统的成功的接入,而且在“角色管理”菜单中也对需要授权的角色进行了授权--->给一级…

如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!!


四 权限管理(用户授权)的应用:根据用户的角色显示不同用户的权限菜单

经过上面的与第三方系统的成功的接入,而且在“角色管理”菜单中也对需要授权的角色进行了授权--->给一级菜单和二级菜单授权给了卫生室,那么,接下来就需使用卫生室登录系统,看看页面中的导航菜单中是否显示了添加的一级菜单和二级菜单导航菜单!

简单说,本节中所要实现的功能是:验证用户的权限菜单!就是使用不同的用户登录系统,并根据用户的角色获取他的权限菜单,并在左侧页面中的导航栏中显示!

即:根据不同用户的登录来显示不同用户的菜单!

举例来说:使用卫生局和卫生室两个角色分别登录系统,在导航栏中的权限菜单的显示也是不同的!

因此,first.jsp页面中发送的请求中的Menu.json文件可以不需要了!同时,本节的内容需要和第7节的内容分步来实现权限管理的应用的

该节内容总结就是:

用户登录成功后,根据用户所属的角色来从数据库中查出用户的菜单权限,然后将菜单权限存储至session中,从而实现不同的用户登录,显示出不同的菜单

因此,也可以说菜单权限属于粗颗粒度的权限管理范畴!

1 DAO

1.1 sql语句的编写(有难度

再次强调:在写sql语句之前,必须要对这9张表之间的关系烂熟于心

这9张表之间的关系可以参考“第三方用户授权系统表关系.xlsx”文件,或者参考“本系统的权限管理模型”一节中的内容和视频!!

需求:根据用户角色获取该角色下所有的一级和二级菜单。注意:是所有的一级和二级菜单,而不是某个一级菜单下的二级菜单!这样做是为了节省性能。

主查询表:权限菜单表bss_sys_module表可以查看所有的一级菜单和二级菜单,它是一个树形结构。其中parentid字段值为0表示一级菜单,而parentid的值中不为0的都是二级菜单,并且,所有的二级菜单中都有url链接地址.

如下图:

关联查询表:角色表、角色系统关系表、角色节点关系表、角色菜单关系表、角色操作关系表。

--查询某个卫生室的所有一级和二级菜单

select m1.moduleid menuid,

       m1.name menuname,

       m2.moduleid menuid_two, 

--之所以别名是menuid_two,而不是menuid.是因为mybatis对于结果集中两个相同的menuid字段是无法实现映射的,虽然这两个字段的内容相同,但是字段名称绝对不可以相同。

       m2.name menuname_two,

       m2.url

  --这里设定m1中存放的是所有的一级菜单,m2中存放的是所有的二级菜单

from bss_sys_module m1, bss_sys_module m2

--自连接条件

 where m2.parentid = m1.moduleid

   and m1.parentid = '0'   --表示所有的一级菜单

   and m2.parentid != '0'  --表示所有的二级菜单

 --该条件用来限定某个角色下所有的二级菜单,因此,范围在m2.moduleid之内     

   and m2.moduleid in  

       (

        

        ---限定某个角色范围内的菜单

        select bss_sys_rolemodule.moduleid

          from bss_sys_role,

                bss_sys_rolesys,

                bss_sys_rolenode,

                bss_sys_rolemodule,

                bss_sys_roleoperate

                --角色表和角色系统表的关联

         where bss_sys_role.roleid = bss_sys_rolesys.roleid

                 

           and bss_sys_rolenode.rsid = bss_sys_rolesys.rsid

           and bss_sys_rolemodule.rnid = bss_sys_rolenode.rnid

           and bss_sys_roleoperate.rmid = bss_sys_rolemodule.rmid

           ---假设角色id是卫生室

           and bss_sys_role.roleid = '511A6F41419949C38122A94310DADD14')

 order by m1.showorder, m2.showorder  ---排序,showorder字段是排序字段  

1.2 VO类的定义

VO的定义--->Menu.java

其中定义的:List<Menu>  meus属性中存储的是二级菜单。

这Menu类中属性的定义就是一对多的结构定义。(牢记)!

之所以单独定义一个Menu类,是为了方便直接转换成json格式的数据,因为页面中的权限菜单需要使用JSON格式的数量来显示(这是该系统的开发规范之一)!

(可以参考下面的FirstAction类中的获取菜单方法usermenu()方法会使用到).

1.3 mapper映射文件的定义(一对多查询)

因为是一对多的映射,即:一个用户(角色)对应多个权限菜单,所以必须使用resultMap实现映射

关于该映射文件中各个属性的含义,请参考“mybatis的高级知识.doc”文档!!!!

在SysuserMapperCustom.xml映射文件中添加如下内容:颜色加深加粗的都是添加的内容。

<!-- 一对多映射 -->

<resultMap id="findMenuByroleidResultMap" type="yycg.base.pojo.vo.Menu">

<!-- column=menuid表示唯一的数据库查询语句中的主键。因为在sql语句的结果集中,mybatis会自动把结果集中的menuid主键字段相同的记录进行合并 -->

<id column=

http://www.dtcms.com/wzjs/577027.html

相关文章:

  • 网站群集约化建设网站备案归哪里管
  • 怎么建立外贸网站wordpress文件架构
  • 网站建设tlmh示范高职建设网站
  • 创意灵感网站申请自媒体账号入口
  • 视频直播网站百度账号登录
  • 网站顶部下拉广告代码盐城网站建设策划方案
  • 免费网站软件哪个好wordpress插件更新保留修改
  • 中国化学工程第六建设有限公司系统优化最好的安卓手机
  • 淘宝做个网站多少钱一家专门做原产地的网站
  • 为什么资讯网站荣誉被收录国内自适应网站案例
  • 网站 百度 关键字优化装修包工头接活网站
  • 网站设计书籍广告设计入门到精通
  • 如何看一个网站用什么程序做的微信开发者平台注销
  • seo针对网站做策划东莞关键词优化实力乐云seo
  • 做飞象金服的网站临汾网站开发
  • wordpress authentication key关键词自助优化
  • 廊坊建站软件建筑工人找活正规平台
  • 在哪个网站做流程图比较好看怎样建设一个网站教学设计
  • 建设网站利用点击量赚钱网站建设如何缴纳印花税
  • 怎么用网站模板百度爱采购推广平台
  • 网站建设教程视频教程个人免费网站注册
  • 专业的深圳网站建设公司哪家好响应式网站切图
  • 湖北省建设信息港网站wordpress登陆地址修改
  • 网站首页详细设计网站建设开票
  • 网站目录环保设备网站建设模板
  • 做运营常用的网站百度seo点击软件
  • html是建网站导航栏怎么做专门查企业的网站
  • 用jsp做学校网站久久文化传媒有限公司在哪里
  • 网站开发考什么证在百度怎么建立自己的网站
  • 网站二级域名设置如何做网站的源码