构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(18)2014-08-10权限管理系统-表数据这一节,我们插入数据来看看数据流,让各位同学,知道这个权限表交互是怎么一个流程,免得大家后天雾里来雾里去首先我再解释一些表,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是否要验证插入一个角色组到表SysRoleINSERT INTO [SysRole] ([Id],[Name],[Description],[CreateTime],[CreatePerson]) values ("administrator","超级管理员","全部授权","10  1 2012 12:00AM","Administrator")将模块授权给SysRightINSERT 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","ymnets@sina.com","MSN:ymnets","440000","440100","440101","小小村落",1,"11 18 20123:40PM","admin","男","05 18 1900 12:00AM","011 2013 12:00AM","未婚","中国","中国","广东揭阳","美国哈佛大学","计算机工程","硕士","20000","20001","勤劳向学,为人友善,乐于助人","在职",NULL,NULL)
这里有个加密的01-92-02-3A-7B-BD-73-25-05-16-F0-69-DF-18-B5-00密码,讲到用户的时候会有加密这个类把角色分配给用户 SysRoleSysUserINSERT INTO [SysRoleSysUser] ([SysUserId],[SysRoleId]) values ("admin","administrator")我们整理一下思路:添加模块添加模块操作码添加角色把模块权限赋给角色把权限赋给角色,由权限来决定模块是否被显示添加用户把角色分配给用户作者:YmNets出处:http://ymnets.cnblogs.com/