• 第一篇:无角牛MVC通用后台数据库设计


    无角牛MVC通用后台

    第一篇:无角牛MVC通用后台数据库设计

    第二篇:无角牛MVC通用后台菜单管理

    第三篇:无角牛MVC通用后台权限角色分配

    第四篇:无角牛MVC通用后台权限用户分配

    第五篇:无角牛MVC通用后台缓存

    第六篇:无角牛MVC通用后台批量导入方案

    第七篇:无角牛MVC通用后台导出

    第八篇:无角牛MVC通用后台一些注意事项

    第九篇:无角牛MVC通用后台源码1.0放送

     原文链接:http://www.cnblogs.com/wujiaoniu/p/3870131.html

    Roles角色表

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    ID

    int

    4

     

     

     

     

     

    2

    RoleName

    nvarchar

    50

     

     

     

     

     

    角色名

     

    表:Users用户表)

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    ID

    int

    4

     

     

     

     

     

    2

    RoleID

    int

    4

     

     

     

     

    用户所属角色

    3

    UserName

    nvarchar

    50

     

     

     

     

    用户名

    4

    Password

    nvarchar

    50

     

     

     

     

    密码

    5

    Name

    nvarchar

    50

     

     

     

     

    用户姓名

    6

    Mobile

    nvarchar

    50

     

     

     

     

    手机号

    7

    Email

    nvarchar

    100

     

     

     

     

    邮箱

    8

    Phone

    nvarchar

    50

     

     

     

     

    电话

    9

    UProvince

    nvarchar

    50

     

     

     

     

    省份

    10

    UCity

    nvarchar

    50

     

     

     

     

    城市

    11

    UDistrict

    nvarchar

    50

     

     

     

     

    区县

    12

    Fax

    nvarchar

    50

     

     

     

     

    传真

    13

    Address

    nvarchar

    50

     

     

     

     

    地址

    14

    PostCode

    nvarchar

    50

     

     

     

     

    邮编

    15

    Flag

    int

    4

     

     

    ((1))

     

    1=有效 0=删除

    16

    Regdate

    datetime

    8

     

     

    (getdate())

     

     

    17

    Modify

    datetime

    8

     

     

     

     

     

     

    Controls(控件常量表

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    ControlID

    int

    4

     

     

     

     

    控件命名规则表ID(全局使用,参考命名规则)

    2

    Description

    nvarchar

    50

     

     

     

     

    描述

    3

    ControlName

    nvarchar

    50

     

     

     

     

    控件名称,页面中的控件参考命名

     

    表:Functions菜单表)

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    FunctionID

    int

    4

     

     

     

     

    菜单目录表ID

    2

    FunctionName

    nvarchar

    50

     

     

     

     

    菜单名称

    3

    Controller

    nvarchar

    50

     

     

     

     

    链接地址

    4

    Action

    nvarchar

    50

     

     

     

     

     

    5

    ParentID

    int

    4

     

     

     

     

    上级菜单ID,顶层菜单为1

    6

    Orders

    int

    4

     

     

     

     

    排序字段

    7

    IsDisplay

    bit

    1

     

     

    ((1))

     

     

     

    表:FunctionControls页面控件注册表)

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    ID

    int

    4

     

     

     

     

    页面控件权限注册表ID,页面中的所有权限需要添加在此表

    2

    FunctionID

    int

    4

     

     

     

     

    菜单项ID

    3

    ControlID

    int

    4

     

     

     

     

    控制ID,对应Controls表ID

    4

    ControlName

    varchar

    50

     

     

     

     

    显示名称

     

    表:FunctionAccessControls(权限分配记录表)

    序号

    字段名

    类型

    长度

    精度

    小数位数

    默认值

    允许空

    主键

    说明

    1

    ID

    uniqueidentifier

    16

     

     

    (newid())

     

    权限配置表ID

    2

    FunctionID

    int

    4

     

     

     

     

    菜单项ID

    3

    RoleID

    int

    4

     

     

     

     

    角色ID

    4

    UserID

    int

    4

     

     

     

     

    用户ID

    5

    Flag

    int

    4

     

     

    ((0))

     

    0基本功能 1 扩展功能 2缩减功能

    6

    Controls

    nvarchar

    50

     

     

     

     

    control的集合

     

    Controls表为一个常量表供后面使用,其内容如下

    为了演示咱初始化一些数据到表中。

    Roles

    Users

    Functions

    FunctionControls

    FunctionAccessControls

     

    分配权限的过程分两步:

    第一步:将每个页面(function)中的控件注册到FunctionControls表,这一步要参考Controls常量表。

    第二步:将角色所具有的访问权限,分配到FunctionAccessControls表中。此类记录UserID=nullFlag=0Controls为逗号分隔的ControlsID.

    形如:

    一个角色可以有多个用户,那么分配完角色权限后,其下的用户默认也就具有了相应的权限。

    接下来若需要用户个性化分配权限则按用户插入相应权限记录即可。此类记录UserId不为空,比如1、2、3,Flag可能会有两种情况:第一种1扩展角色分配时不具有的权限,第二种2缩减角色分配时具有的权限,也就是使此用户不能访问此菜单。

    形如:

    按角色、单用户分配的权限共存一张表中如果管理呢?读取时需要做如下处理:首先按Role读取出分配数据,再按角色ID及用户ID读取出用户分配数据,以角色数据为基数,分别按用户数据中的Flag值过滤出应该增加或减少的数据修改基数,最后就是这个用户可以实际访问的菜单。

    上面只是说的菜单,那么菜单内控件如何控制呢?用户不能访问菜单也就不存在此问题了。好,角色数据中有此菜单的权限配置,用户数据中也有此菜单的权限配置,那么在上面修改基数数据时使用户Controls覆盖角色Controls字段即可。

  • 相关阅读:
    Qt简介以及如何配置Qt使用VS2010进行开发
    QT里重定向另外一个控制台程序的输出
    windows下制作PHP扩展
    20款Notepad++插件下载和介绍
    音频编码协议介绍
    用 PHP 读取文件的正确方法
    QT进程间通信
    关于YUV色彩空间
    解析xml 四种
    System.getProperty
  • 原文地址:https://www.cnblogs.com/wujiaoniu/p/3870131.html
Copyright © 2020-2023  润新知