zoukankan      html  css  js  c++  java
  • 权限管理系统-表数据

    权限管理系统-表数据

    这一节,我们插入数据来看看数据流,让各位同学,知道这个权限表交互是怎么一个流程,免得大家后天雾里来雾里去
    首先我再解释一些表,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')

    我们整理一下思路:

    • 添加模块
    • 添加模块操作码
    • 添加角色
    • 把模块权限赋给角色
    • 把权限赋给角色,由权限来决定模块是否被显示
    • 添加用户
    • 把角色分配给用户
  • 相关阅读:
    spring 配置详解
    SpringBoot 快速整合Mybatis(去XML化+注解进阶)
    Spring Boot Mvc 单元测试
    Connect to DB2 database in eclipse via jdbc
    spring boot 学习
    小程序扫描普通链接二维码跳转小程序指定界面
    开启MySQL远程访问权限 允许远程连接
    JS概述
    全然用linux工作,放弃windows
    FarPoint.Win.Spread 常规操作
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3452925.html
Copyright © 2011-2022 走看看