你的位置:首页 > 软件开发 > ASP.net > MVC中权限管理

MVC中权限管理

发布时间:2016-08-23 16:00:04
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。权限管理还是比较复杂的,有的固定到某个模块,某个操作,甚至是某个按钮,总之想要做好一个权限管理,真的很不容易,一直在探索 ...

      权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。权限管理还是比较复杂的,有的固定到某个模块,某个操作,甚至是某个按钮,总之想要做好一个权限管理,真的很不容易,一直在探索当中,全当抛砖引玉;看到网上好多关于权限管理的文章,以前也写过简单的文章,今天楼主我也要总结整理一下自己的实现方法,毕竟一千个读者就有一千个哈姆雷特,说说自己的详细实现、基本设计和基本思想希望帮到入门的新人们。

    一、基本的数据库表设计

      基本的表设计如图,用户表、角色表、模块表、权限表和用户角色关系表、角色模块权限关系表,某个用户的角色(管理员、用户等),然后再去判断对应角色的模块(新闻、文章等)权限(增、删、改、查)。

MVC中权限管理

      创建基本权限操作的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

mvc
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。