ASP.NET MVC5+EF6+EasyUI 后台管理系統(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','ymnets@sina.com','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')

我們整理一下思路:

  • 添加模塊
  • 添加模塊操作碼
  • 添加角色
  • 把模塊權限賦給角色
  • 把權限賦給角色,由權限來決定模塊是否被顯示
  • 添加用戶
  • 把角色分配給用戶


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM