• 用户、角色、权限数据库设计


    权限管理

    权限管理,主要是人员和权限之间的关系,但是如果让人员直接和权限打交道,那么权限的赋值、权限的撤销以及权限的变动会非常的麻烦,这样引入了,角色,给角色赋权限,然后给用户分配角色。

    这个设计主要涉及6张表,

    用户表(用于存储用户的所有信息)

    权限表(用于存储所有的权限)

    角色表(用于存储所有的角色)

    用户和角色的关联表(用户和角色的关联)

    角色和权限的关联表(角色和权限的关联)

    菜单表(里面关联了权限,主要是现实用的)

    用户表

    CREATE TABLE [dbo].[Users](
        [UserID] [int] IDENTITY(1,1) NOT NULL,
        [UserName] [nvarchar](50) primary key,--帐号
        [Password] [nvarchar](50) ,
        [UserDspName] [nvarchar](50) ,
        [Sex] [char](1),
        [Birthday] [datetime],
        [Phone] [nvarchar](20)  ,
        [Email] [nvarchar](100),
        [EmployeeID] [nvarchar](20) ,
        [Activity] [bit],--是否可用
        [UserType] [char](2) ,
        [Style] [nvarchar](50)
    )

    权限表:

    CREATE TABLE [dbo].[Permission](
        [PermissionID] int identity,
        [Description] [nvarchar](50) --权限名称
    )

    角色表:

    CREATE TABLE [dbo].[Roles](
        [RoleID] [int] IDENTITY,
        [Description] [nvarchar](200)--角色名称
    )

    用户和角色的关联表:

    CREATE TABLE [dbo].[UserRoles](
        [UserID] [int] NOT NULL,--用户ID
        [RoleID] [int] not null ,--权限ID
     CONSTRAINT [PK_UserRoles] PRIMARY KEY CLUSTERED 
    (
        [UserID] ASC,
        [RoleID] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    

    角色和权限的关联表:

    CREATE TABLE [dbo].[RolePermissions](
        [RoleID] int  NOT NULL,--角色ID
        [PermissionID]int NOT NULL,--权限ID
     CONSTRAINT [PK_RolePermissions] PRIMARY KEY CLUSTERED 
    (
        [RoleID] ASC,
        [PermissionID] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    

    菜单表:

    CREATE TABLE [dbo].[menu](
        [ID] [int] IDENTITY(1,1) NOT NULL,
        [TextCH] [nvarchar](100)  NULL,--菜单的中文显示
        [TextEN] [nvarchar](200)  NULL,--菜单的英文名称
        [ParentID] [int] NULL,--父节点
        [orderID] [int] NULL,--同一个父节点下面的排序
        [Url] [nvarchar](200) ,--菜单对于的权限
        [PermissionID] [int] NULL,--权限ID
        [ImageUrl] [nvarchar](50) NULL--菜单图片链接
    ) ON [PRIMARY]
  • 相关阅读:
    Shiro入门学习之shi.ini实现授权(三)
    Shiro入门学习之shi.ini实现认证及源码分析(二)
    猜字母游戏(Java)
    二维数组的语法
    鸡兔同笼问题(Java)
    成绩统计程序(Java)
    18位身份证验证(Java)加入身份证输入验证是否满足18位代码(修订稿)
    18位身份证验证(Java)
    键盘输入字符插入定义数组中并按顺序排列
    一个随机验证码且不重复的小程序以及求随机输入一组数组中的最大值(Java)
  • 原文地址:https://www.cnblogs.com/yyy116008/p/7488725.html
Copyright © 2020-2023  润新知