用户如何实现菜单权限控制

用户如何实现菜单权限控制1 数据库表设计 1 1 菜单权限控制涉及到的表 1 用户表 t user 主要字段 user id user name 2 角色表 t role 主要字段 role id role name 3

大家好,欢迎来到IT知识分享网。

1.数据库表设计

   1.1菜单权限控制涉及到的表:

1.用户表:t_user(主要字段:user_id、user_name)       

2.角色表:t_role(主要字段:role_id、role_name)

3.用户角色表:t_user_role(主要字段:user_id、role_id) #一对多

4.角色菜单表:t_role_menu(主要字段:role_id、menu_id)#一对多

 #菜单id、菜单名称、菜单级别(一级、二级、三级)、菜单父类id、菜单url

5.菜单表:t_menu(主要字段:menu_id|menu_name|menu_level|menu_parent_id|menu_url)

1.2简单描述

        首先通过给角色配置菜单,其次给用户分配角色,最后通过查询用户表、角色表以及菜单表之前的关系,可以查询到用户所属的菜单权限,从而达到权限控制。

用户如何实现菜单权限控制

2.前端如何给角色分配权限

      首先查询所有菜单权限,再查询当前角色权限,最后分配角色权限给当前角色(新增或者修改)

#前端效果图

用户如何实现菜单权限控制

3.后台如何控制菜单是否有权限以及查询权限菜单数据(多级菜单)

3.1 后台登录权限问题

       首先用户登录会把用户信息(用户姓名、昵称等)、用户所属菜单权限信息放入会话中,

       其次通过拦截器判断当前url是否在会话url中,存在则有访问权限,否则提示没有访问权限。

3.2 java后台mybatics查询菜单权限

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.bard.base.daos.tables.RightDao" > <resultMap id="RightMap" type="com.bard.base.entitys.RightNode"> <id column="id" property="id" jdbcType="INTEGER" /> <result column="right_name" property="name" jdbcType="VARCHAR" /> <result column="description" property="description" jdbcType="VARCHAR" /> <result column="right_url" property="rightUrl" jdbcType="VARCHAR" /> <result column="parent_right" property="pId" jdbcType="INTEGER" /> <result column="right_level" property="rightLevel" jdbcType="INTEGER" /> <collection column="id" property="children" ofType="com.bard.base.entitys.RightNode" javaType="ArrayList" select="getChildrenInfoById"> </collection> </resultMap> <select id="getChildrenInfoById" parameterType="java.lang.String" resultMap="RightMap"> select id,right_name,description,right_url,parent_right,right_level from t_right where parent_right = #{id} </select> <select id="selectAllRights" resultMap="RightMap"> SELECT * FROM t_right where right_level='1' order by id </select> </mapper>

响应json格式报文:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136194.html

(0)
上一篇 2025-06-29 14:15
下一篇 2025-06-29 14:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信