关于用户角色权限的设计
一直想整理一篇关于用户角色权限的设计,这几天通过网上资料和自己实际工作中运用到的资源把用户角色权限的数据库表设计出来。 基础表有3张: 角色表--用来记录角色名称 用户表--用来记录登录用户名称和登录密码 菜单表--用来记录菜单名称、子菜单名称 每个
一直想整理一篇关于用户角色权限的设计,这几天通过网上资料和自己实际工作中运用到的资源把用户角色权限的数据库表设计出来。
基础表有3张:
角色表--用来记录角色名称
用户表--用来记录登录用户名称和登录密码
菜单表--用来记录菜单名称、子菜单名称
每个用户会有多个角色、而一个角色也会有多个用户,即角色和用户的关系是n:m,多对多的关系。
每个角色会有多个菜单权限、每个菜单也会有多个角色拥有,即角色和菜单的关系也是n:m,多对多的关系。
所以还有有两张关联表:
角色用户对应表--用来记录角色和用户的关系
角色菜单对应表--用来记录角色和菜单的关系
这里是下载地址
http://download.csdn.net/detail/u010192842/6819561
下面是数据库表设计:
---------------------------------------------------------------- -- Author :Yole_JZ -- Date :2014-01-07 7:44:00 -- Table Name:[Sys_Role] ---------------------------------------------------------------- SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Sys_Role]( [ID] [int] IDENTITY(1,1) NOT NULL, [RoleName] [varchar](20) NULL, [DeleteFlag] [int] NOT NULL CONSTRAINT [DF_Sys_Role_DeleteFlag] DEFAULT ((0)), [RoleRemark] [varchar](50) NULL, CONSTRAINT [PK_Sys_Role] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:正常 1:删除' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role', @level2type=N'COLUMN', @level2name=N'DeleteFlag'
---------------------------------------------------------------- -- Author :Yole_JZ -- Date :2014-01-07 7:45:00 -- Table Name:[Sys_Use] ---------------------------------------------------------------- SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Sys_User]( [ID] [int] IDENTITY(1,1) NOT NULL, [UserName] [varchar](20) NOT NULL, [UserPassword] [varchar](50) NOT NULL, [StaffID] [int] NOT NULL, [DeleteFlag] [int] NOT NULL CONSTRAINT [DF_Sys_User_DeleteFlag] DEFAULT ((0)), [UserRemark] [varchar](50) NULL, CONSTRAINT [PK_Sys_User] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职工信息表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_User', @level2type=N'COLUMN', @level2name=N'StaffID' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:正常 1:删除' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_User', @level2type=N'COLUMN', @level2name=N'DeleteFlag'

----------------------------------------------------------------
-- Author :Yole_JZ
-- Date :2014-01-07 8:10:00
-- Table Name:[Sys_Menu]
----------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sys_Menu](
[ID] [int] NOT NULL,
[MenuPID] [int] NULL,
[MenuName] [varchar](50) NOT NULL,
[DeleteFlag] [int] NOT NULL CONSTRAINT [DF_Sys_Menu_DeleteFlag] DEFAULT ((0)),
[MenuRemark] [varchar](50) NULL,
CONSTRAINT [PK_Sys_Menu] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Menu', @level2type=N'COLUMN', @level2name=N'MenuPID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:正常 1:删除' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Menu', @level2type=N'COLUMN', @level2name=N'DeleteFlag'

----------------------------------------------------------------
-- Author :Yole_JZ
-- Date :2014-01-07 8:22:00
-- Table Name:[Sys_Role_User]
----------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sys_Role_User](
[ID] [int] NOT NULL,
[RoleID] [int] NOT NULL,
[UserID] [int] NOT NULL,
[DeleteFlag] [int] NOT NULL CONSTRAINT [DF_Sys_Role_User_DeleteFlag] DEFAULT ((0)),
[MenuRemark] [varchar](50) NULL,
CONSTRAINT [PK_Sys_Role_User] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'角色表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_User', @level2type=N'COLUMN', @level2name=N'RoleID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_User', @level2type=N'COLUMN', @level2name=N'UserID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:正常 1:删除' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_User', @level2type=N'COLUMN', @level2name=N'DeleteFlag'

----------------------------------------------------------------
-- Author :Yole_JZ
-- Date :2014-01-07 8:32:00
-- Table Name:[Sys_Role_Menu]
----------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sys_Role_Menu](
[ID] [int] NOT NULL,
[RoleID] [int] NOT NULL,
[MenuID] [int] NOT NULL,
[PermissionType] [int] NOT NULL CONSTRAINT [DF_Sys_Role_Menu_PermissionType] DEFAULT ((31)),
[DeleteFlag] [int] NOT NULL CONSTRAINT [DF_Sys_Role_Menu_DeleteFlag] DEFAULT ((0)),
[MenuRemark] [varchar](50) NULL,
CONSTRAINT [PK_Sys_Role_Menu] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'角色表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_Menu', @level2type=N'COLUMN', @level2name=N'RoleID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单表ID' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_Menu', @level2type=N'COLUMN', @level2name=N'MenuID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'eg.1:录入 2:浏览 4:修改 8:删除 16:执行(默认所有权限)' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_Menu', @level2type=N'COLUMN', @level2name=N'PermissionType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:正常 1:删除' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_Role_Menu', @level2type=N'COLUMN', @level2name=N'DeleteFlag'
PS.这里的权限类型没有单独做成一个表,是因为要是再加上权限表(增删改查)会是角色和菜单关系过于复杂,不利于后期的维护。
如果遇到同一个菜单需要有不同的权限,可以用权限类型来控制,例如:1:录入 2:浏览 4:修改 8:删除 16:执行(默认所有权限)
如果是增删改查权限,这个权限类型就是15(1+2+4+8=15),当然这样做会有弊端,例如有修改权限就会相应的有浏览权限,会出现权限包含的情况。遇到这样的情况需要判断一下即可。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Avec le développement rapide des médias sociaux, Xiaohongshu est devenue l'une des plateformes sociales les plus populaires. Les utilisateurs peuvent créer un compte Xiaohongshu pour montrer leur identité personnelle et communiquer et interagir avec d'autres utilisateurs. Si vous avez besoin de trouver le numéro Xiaohongshu d’un utilisateur, vous pouvez suivre ces étapes simples. 1. Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? 1. Ouvrez l'application Xiaohongshu, cliquez sur le bouton « Découvrir » dans le coin inférieur droit, puis sélectionnez l'option « Notes ». 2. Dans la liste des notes, recherchez la note publiée par l'utilisateur que vous souhaitez rechercher. Cliquez pour accéder à la page de détails de la note. 3. Sur la page de détails de la note, cliquez sur le bouton « Suivre » sous l'avatar de l'utilisateur pour accéder à la page d'accueil personnelle de l'utilisateur. 4. Dans le coin supérieur droit de la page d'accueil personnelle de l'utilisateur, cliquez sur le bouton à trois points et sélectionnez « Informations personnelles »

Dans les systèmes Ubuntu, l'utilisateur root est généralement désactivé. Pour activer l'utilisateur root, vous pouvez utiliser la commande passwd pour définir un mot de passe, puis utiliser la commande su- pour vous connecter en tant que root. L'utilisateur root est un utilisateur disposant de droits d'administration système illimités. Il dispose des autorisations nécessaires pour accéder et modifier les fichiers, la gestion des utilisateurs, l'installation et la suppression de logiciels et les modifications de la configuration du système. Il existe des différences évidentes entre l'utilisateur root et les utilisateurs ordinaires. L'utilisateur root possède la plus haute autorité et des droits de contrôle plus étendus sur le système. L'utilisateur root peut exécuter des commandes système importantes et modifier des fichiers système, ce que les utilisateurs ordinaires ne peuvent pas faire. Dans ce guide, j'explorerai l'utilisateur root Ubuntu, comment se connecter en tant que root et en quoi il diffère d'un utilisateur normal. Avis

Il permet aux utilisateurs d'effectuer des opérations plus approfondies et de personnaliser le système. L'autorisation root est une autorisation d'administrateur dans le système Android. L'obtention des privilèges root nécessite généralement une série d'étapes fastidieuses, qui peuvent toutefois ne pas être très conviviales pour les utilisateurs ordinaires. En activant les autorisations root en un seul clic, cet article présentera une méthode simple et efficace pour aider les utilisateurs à obtenir facilement les autorisations système. Comprenez l'importance et les risques des autorisations root et disposez d'une plus grande liberté. Les autorisations root permettent aux utilisateurs de contrôler entièrement le système de téléphonie mobile. Renforcez les contrôles de sécurité, personnalisez les thèmes et les utilisateurs peuvent supprimer les applications préinstallées. Par exemple, la suppression accidentelle de fichiers système provoquant des pannes du système, une utilisation excessive des privilèges root et l'installation par inadvertance de logiciels malveillants sont également risquées. Avant d'utiliser les privilèges root

Blue Wings Chaos Effect présente un casting diversifié de personnages, chacun avec une identité et une histoire uniques. Pour cette raison, l'éditeur a spécialement compilé une introduction aux personnages de BlazBlue Chaos Effect pour tous les joueurs. Combien y a-t-il de personnages dans BlazBlue Chaos Effect ? Réponse : Il y a 7 personnages. 1. [Dieu de la mort] Ragnar Chad Bradedge (surnommé RG, Nissan), son frère et sa sœur ont été élevés par des religieuses de l'église. Un jour, l'un des six héros du méchant est entré par effraction, a tué les religieuses et les a incendiées. Church, a emmené sa sœur, laissant derrière lui son jeune frère "L'arme des choses" Ice Sword Snow Girl. 2. Noel Vermillion La fille adoptive de la famille Vermillion ressemble presque à la sœur de Ragnar. Après avoir obtenu son diplôme, il rejoint le conseil d'administration en tant que secrétaire du frère cadet de Ragnar. 3. λ-11 est collectivement connu sous le nom de Lambda et Onzième Sœur. Après que le développeur initial ait abandonné, Kokonoe a sauvé et

Selon les informations du 26 avril, le Wi-Fi portable 5G U50S de ZTE est désormais officiellement en vente, à partir de 899 yuans. En termes de conception d'apparence, le Wi-Fi portable ZTE U50S est simple et élégant, facile à tenir et à emballer. Sa taille est de 159/73/18 mm et est facile à transporter, vous permettant de profiter du réseau haut débit 5G à tout moment et en tout lieu, offrant ainsi une expérience de bureau mobile et de divertissement sans entrave. Le ZTE 5G portable Wi-Fi U50S prend en charge le protocole avancé Wi-Fi 6 avec un débit de pointe allant jusqu'à 1 800 Mbps. Il s'appuie sur la plate-forme 5G hautes performances Snapdragon X55 pour offrir aux utilisateurs une expérience réseau extrêmement rapide. Non seulement il prend en charge l'environnement réseau bimode 5G SA+NSA et la bande de fréquences inférieure à 6 GHz, mais la vitesse du réseau mesurée peut même atteindre un étonnant 500 Mbps, ce qui est facilement satisfaisant.

Selon les informations du 17 avril, HMD s'est associé à la célèbre marque de bière Heineken et à la société créative Bodega pour lancer un téléphone à clapet unique : The Boring Phone. Ce téléphone est non seulement plein d'innovation dans le design, mais revient également à la nature en termes de fonctionnalité, dans le but de ramener les gens à de véritables interactions interpersonnelles et à profiter du pur moment de boire entre amis. Le téléphone mobile ennuyeux adopte un design à rabat transparent unique, montrant une esthétique simple mais élégante. Il est équipé d'un écran QVGA de 2,8 pouces à l'intérieur et d'un écran de 1,77 pouces à l'extérieur, offrant aux utilisateurs une expérience d'interaction visuelle de base. Côté photographie, bien qu'il ne soit équipé que d'un appareil photo de 30 mégapixels, celui-ci suffit pour gérer des tâches simples du quotidien.

Selon les informations du 12 juillet, la série Honor Magic V3 a été officiellement lancée aujourd'hui, équipée du nouvel écran de protection oculaire Honor Vision Soothing Oasis. Bien que l'écran lui-même ait des spécifications élevées et une haute qualité, il a également été le pionnier de l'introduction de la protection oculaire active AI. technologie. Il est rapporté que les « lunettes de myopie » sont le moyen traditionnel de soulager la myopie. La puissance des lunettes de myopie est uniformément répartie pour garantir que la zone centrale de la vue est imagée sur la rétine, mais la zone périphérique est imagée derrière la rétine. La rétine sent que l'image est derrière, favorisant la direction de l'axe de l'œil plus tard, approfondissant ainsi le degré. À l'heure actuelle, l'un des principaux moyens d'atténuer le développement de la myopie est la « lentille de défocalisation ». La zone centrale a une puissance normale et la zone périphérique est ajustée au moyen de cloisons de conception optique, de sorte que l'image dans la zone périphérique tombe dans l'image. devant la rétine.

Selon les informations du 3 avril, la prochaine tablette M50 Mini de Taipower est un appareil doté de fonctions riches et de performances puissantes. Cette nouvelle petite tablette de 8 pouces est équipée d'un écran IPS de 8,7 pouces, offrant aux utilisateurs une excellente expérience visuelle. Son corps en métal est non seulement beau, mais améliore également la durabilité de l'appareil. En termes de performances, le M50Mini est équipé du processeur à huit cœurs Unisoc T606, doté de deux cœurs A75 et de six cœurs A55, garantissant une expérience de fonctionnement fluide et efficace. Dans le même temps, la tablette est également équipée d'une solution de stockage de 6 Go + 128 Go et prend en charge une extension de mémoire de 8 Go, ce qui répond aux besoins des utilisateurs en matière de stockage et de multitâche. En termes d'autonomie, le M50Mini est équipé d'une batterie de 5 000 mAh et prend en charge Ty
