权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。权限管理还是比较复杂的,有的固定到某个模块,某个操作,甚至是某个按钮,总之想要做好一个权限管理,真的很不容易,一直在探索 ...
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。权限管理还是比较复杂的,有的固定到某个模块,某个操作,甚至是某个按钮,总之想要做好一个权限管理,真的很不容易,一直在探索当中,全当抛砖引玉;看到网上好多关于权限管理的文章,以前也写过简单的文章,今天楼主我也要总结整理一下自己的实现方法,毕竟一千个读者就有一千个哈姆雷特,说说自己的详细实现、基本设计和基本思想希望帮到入门的新人们。
一、基本的数据库表设计
基本的表设计如图,用户表、角色表、模块表、权限表和用户角色关系表、角色模块权限关系表,某个用户的角色(管理员、用户等),然后再去判断对应角色的模块(新闻、文章等)权限(增、删、改、查)。
创建基本权限操作的SQL脚本:
CREATE TABLE [dbo].[Module]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [ModuleKey] [nvarchar](100) NOT NULL, [ModuleName] [nvarchar](100) NOT NULL,)CREATE TABLE [dbo].[Permission]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [PermissionKey] [nvarchar](100) NOT NULL, [PermissionName] [nvarchar](100) NOT NULL,)CREATE TABLE [dbo].[Role]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [RoleName] [nvarchar](100) NOT NULL,)CREATE TABLE [dbo].[RoleModulePermission]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [RoleID] [int] NOT NULL, [ModuleID] [int] NOT NULL, [PermissionID] [int] NOT NULL,)CREATE TABLE [dbo].[User]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [AccountNum] [nvarchar](100) NOT NULL, [Pwd] [nvarchar](100) NOT NULL, [Status] [int] NOT NULL, [LastLoginTime] [datetime] NOT NULL, [Remark] [nvarchar](100) NULL,)CREATE TABLE [dbo].[UserRole]( [ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL, [UserID] [int] NOT NULL, [RoleID] [int] NOT NULL,)
原标题:MVC中权限管理
关键词:mvc
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。