博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
权限菜单
阅读量:5827 次
发布时间:2019-06-18

本文共 2015 字,大约阅读时间需要 6 分钟。

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

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

步骤如下:

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

ExpandedBlockStart.gif

 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语句
ExpandedBlockStart.gif
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#代码部分
  有了上面的铺垫,该部分的代码就比较简单了,各位自己写下吧,主要就是查询,就不贴代码了
 
本代码仅供参考,如果有好的建议或意见欢迎各位给予评价。
 
注:如想增加增、删、改等权限,自行修改即可。

转载于:https://www.cnblogs.com/chenjunLovefan/p/3328412.html

你可能感兴趣的文章
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
jquery中的data-icon和data-role
查看>>
python例子
查看>>
环境变量(总结)
查看>>