权限菜单

使用场景:不同角色的用户登录后具有不同的功能权限。如:A用户为普通用户,登录平台有6个菜单的操作权限,B用户为中级用户,登录平台拥有12个菜单的操作权限等

功能描述:针对不同角色用户拥有不同权限

步骤如下:

1、创建表,具体的sql语句如下:

 1 
 2 create table admin_action
 3 (
 4 actionid int primary key identity(1,1),
 5 actionname varchar(50),--动作名称
 6 actiongroupid int ,--动作分栏号(映射到actiongroup表)
 7 action varchar(50),--动作字符串
 8 vidwmode varchar(10--是否可见
 9 )
10 
11 
12 create table admin_action_group
13 (
14 actiongroupid int primary key identity(1,1),
15 actiongroupname varchar(50--动作分栏名称
16 )
17 
18 
19 create table admin_action_group_manager
20 (
21 id int primary key identity(1,1),
22 action varchar(50), --动作名称(映射到action表)
23 usergroupid int ,--动作所属组(映射到usergroup表)
24 createuserid int ,--创建者id
25 createusername varchar(50),--创建者名称
26 createdate datetime --创建时间
27 )
28 
29 
30 create table admin_user_group
31 (
32 groupid int primary key identity(1,1),
33 groupname varchar(50) ,--管理组名称
34 groupinfo varchar(50),--管理组信息
35 
36 --userid int,--创建者id
37 --username varchar(50),--创建者名称
38 cratedate datetime default getdate() --组创建时间
39 )
40 
41 
42 create table admin_user
43 (
44 userid int primary key identity(1,1),
45 username varchar(50),--管理员名称
46 password varchar(50),--管理员密码
47 truename varchar(50),--真实姓名
48 email varchar(50),--email
49 --userid int ,--创建者id
50 --username varchar(50),--创建者名称
51 createdate datetime default getdate() --创建日期
52 )
View Code
2、查询的sql语句
复制代码
1 select b.username,b.truename,c.groupname,f.actiongroupname,e.actionname,e.action 
2 from admin_user as b 
3 left join admin_user_group as c on c.groupid=b.groupid
4 left join admin_action_group_manager as d on d.usergroupid=b.groupid
5 left join admin_action_menu as e on e.actionid=d.actionid
6 left join admin_action_group as f on f.actiongroupid=e.actiongroupid where b.username='admin1' 
7 order by f.actiongroupname
View Code
复制代码
3、c#代码部分
  有了上面的铺垫,该部分的代码就比较简单了,各位自己写下吧,主要就是查询,就不贴代码了
 
本代码仅供参考,如果有好的建议或意见欢迎各位给予评价。
 
注:如想增加增、删、改等权限,自行修改即可。
posted @   ★★★石头★★★  阅读(254)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示