构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(18)-权限管理系统-表数据

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(18)-权限管理系统-表数据

这一节,我们插入数据来看看数据流,让各位同学,知道这个权限表交互是怎么一个流程,免得大家后天雾里来雾里去
首先我再解释一些表,SysUser和SysRole表不用解释了。

  • SysRoleSysUser:这个是角色和用户的对应表 一个角色可以对应多个用户,一个用户可以对应多个角色
  • SysModuleOperate:模块的操作码表,我把每个Action都看作是一个操作码,或者每个方法可以看作是一个操作码
  • SysRight:这个是角色和模块的关系表,只有被模块授权的角色才能设置权限
  • SysRightOperate:这个是角色拥有的操作码,这个表间接和操作码有关联

现在我们来插入一些数据来看看他们之间的关系,我们SysModule这个表已经有数据了,我们还是拿SysSample,跑通这个,其他自然就通了

(源码已经发布到第17讲了,有兴趣的童鞋在QQ群共享37509873,然后17讲修改了一个问题,大家看到17讲的留言部分)

给SysModuleOperate插入操作码

INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleCreate,创建,Create,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleDelete,删除,Delete,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleDetails,详细,Details,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleEdit,编辑,Edit,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleExport,导出,Export,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleQuery,查询,Query,BaseSample,0,0)
INSERT INTO [SysModuleOperate] ([Id],[Name],[KeyCode],[ModuleId],[IsValid],[Sort]) values (BaseSampleSave,保存,Save,BaseSample,0,0)

可以看出ModuleId对应是SysModule这个表的样例程序ID,IsValid是否要验证
插入一个角色组到表SysRole

INSERT INTO [SysRole] ([Id],[Name],[Description],[CreateTime],[CreatePerson]) values (administrator,超级管理员,全部授权,10  1 2012 12:00AM,Administrator)

将模块授权给SysRight

INSERT INTO [SysRight] ([Id],[ModuleId],[RoleId],[Rightflag]) values (administratorSampleFile,SampleFile,administrator,1)
INSERT INTO [SysRight] ([Id],[ModuleId],[RoleId],[Rightflag]) values (administratorBaseSample,BaseSample,administrator,1)

把权限赋给角色SysRightOperate

INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleCreate,administratorBaseSample,Create,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleDelete,administratorBaseSample,Delete,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleDetails,administratorBaseSample,Details,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleEdit,administratorBaseSample,Edit,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleExport,administratorBaseSample,Export,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleQuery,administratorBaseSample,Query,1)
INSERT INTO [SysRightOperate] ([Id],[RightId],[KeyCode],[IsValid]) values (administratorBaseSampleSave,administratorBaseSample,Save,1)

把操作码赋给角色的权限,比如附了Create这个操作码,那么角色拥有创建的权限
创建一个用户吧 SysUser

INSERT INTO [SysUser] ([Id],[UserName],[Password],[TrueName],[Card],[MobileNumber],[PhoneNumber],[QQ],[EmailAddress],[OtherContact],[Province],[City],[Village],[Address],[State],[CreateTime],[CreatePerson],[Sex],[Birthday],[JoinDate],[Marital],[Political],[Nationality],[Native],[School],[Professional],[Degree],[DepId],[PosId],[Expertise],[JobState],[Photo],[Attach]) 
values (admin,admin,01-92-02-3A-7B-BD-73-25-05-16-F0-69-DF-18-B5-00,系统管理员,NULL,NULL,06638888888,324345345,[email protected],MSN:ymnets,440000,440100,440101,小小村落,1,11 18 2012  3:40PM,admin,,05 18 1900 12:00AM,01  1 2013 12:00AM,未婚,中国,中国,广东揭阳,美国哈佛大学,计算机工程,硕士,20000,20001,勤劳向学,为人友善,乐于助人,在职,NULL,NULL)

这里有个加密的01-92-02-3A-7B-BD-73-25-05-16-F0-69-DF-18-B5-00密码,讲到用户的时候会有加密这个类

把角色分配给用户 SysRoleSysUser

INSERT INTO [SysRoleSysUser] ([SysUserId],[SysRoleId]) values (admin,administrator)

我们整理一下思路:

  • 添加模块
  • 添加模块操作码
  • 添加角色
  • 把模块权限赋给角色
  • 把权限赋给角色,由权限来决定模块是否被显示
  • 添加用户
  • 把角色分配给用户

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。