Maison base de données tutoriel mysql 关于用户角色权限的设计

关于用户角色权限的设计

Jun 07, 2016 pm 03:23 PM
à propos 整理 权限 用户 角色 设计

一直想整理一篇关于用户角色权限的设计,这几天通过网上资料和自己实际工作中运用到的资源把用户角色权限的数据库表设计出来。 基础表有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'
Copier après la connexion

\

----------------------------------------------------------------
-- 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'
Copier après la connexion

\

----------------------------------------------------------------
-- 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),当然这样做会有弊端,例如有修改权限就会相应的有浏览权限,会出现权限包含的情况。遇到这样的情况需要判断一下即可。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Comment utiliser le compte Xiaohongshu pour trouver des utilisateurs ? Puis-je retrouver mon numéro de téléphone portable ? Mar 22, 2024 am 08:40 AM

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 »

Connectez-vous à Ubuntu en tant que superutilisateur Connectez-vous à Ubuntu en tant que superutilisateur Mar 20, 2024 am 10:55 AM

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

Activez les autorisations root en un seul clic (obtenez rapidement les autorisations root) Activez les autorisations root en un seul clic (obtenez rapidement les autorisations root) Jun 02, 2024 pm 05:32 PM

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

Combien y a-t-il de personnages dans Blazlan Chaos Effect ? Combien y a-t-il de personnages dans Blazlan Chaos Effect ? Mar 21, 2024 pm 10:56 PM

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

Le Wi-Fi portable ZTE 5G U50S est mis en vente au prix de 899 NT$ lors du premier lancement : vitesse maximale de 500 Mbps Le Wi-Fi portable ZTE 5G U50S est mis en vente au prix de 899 NT$ lors du premier lancement : vitesse maximale de 500 Mbps Apr 26, 2024 pm 03:46 PM

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.

Tendance rétro ! HMD et Heineken lancent conjointement un téléphone à clapet : une coque transparente Tendance rétro ! HMD et Heineken lancent conjointement un téléphone à clapet : une coque transparente Apr 17, 2024 pm 06:50 PM

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.

Honor Magic V3 lance la technologie de protection oculaire anti-focalisation AI : atténue efficacement le développement de la myopie Honor Magic V3 lance la technologie de protection oculaire anti-focalisation AI : atténue efficacement le développement de la myopie Jul 18, 2024 am 09:27 AM

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.

La tablette Teclast M50 Mini est là : écran IPS de 8,7 pouces, batterie de 5000 mAh La tablette Teclast M50 Mini est là : écran IPS de 8,7 pouces, batterie de 5000 mAh Apr 04, 2024 am 08:31 AM

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

See all articles