通过本文主要向大家介绍了asp net mvc,asp net mvc 4,asp net mvc 5,精通asp.net mvc 5,精通asp.net mvc 4等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1.数据结构

Mad_Popedom为权限表,Control记录控制器名,Action记录动作名。
Mad_Role为角色表。

Mad_Popedom为权限表,Control记录控制器名,Action记录动作名。
Mad_Role为角色表。
2.权限控制的实现
此处使用比较简单AOP方式,用MVC的Filter实现,代码如下
解释一下,上面的代码就是在执行前,先获取登录用户可以运行的Controller-Action,然后和当前需要执行的Controller-Action比较,如存在,即通过,否则为没有权限执行。
3.为动作添加权限
为简单起见,对于Controller层我是独立出来一个类库的,好处是等会为角色添加权限的时候我们不需要手动输入,只要反射dll就可以了。
如图所示,凡需要权限控制的函数,只需要添加[SupportFilter]特性就可以了,当然这种方式只能控制到Action级。
4.为角色额添加权限
这个比较简单,只需要把角色和权限关联起来就可以了,这里我是用反射Controller层dll实现。
Web.config
Global.asax.cs
Madnet.Controllers.Test即为Controller层的dll
Test为Controller名,index为Action名,选择role2可以访问的Action,提交到数据库即可。此图表示role2拥有Test1Controller的访问权限,但是没有Test2Controller,Test3Controller的访问权限。
5.结束
上面4步即已完成基本的权限控制。可以在此基础上加上用户组,用户,菜单等管理,可实现”用户-角色-权限”的自由组合,一个简单的通用后台大概就是这样了。
您可能想查找下面的文章:
- 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
- ASP.NET MVC从视图传参到控制器的几种形式
- ASP.NET MVC 4 中的JSON数据交互的方法
- ASP.NET MVC制作404跳转实例(非302和200)
- 详解ASP.NET MVC 利用Razor引擎生成静态页
- 详解ASP.NET MVC 解析模板生成静态页(RazorEngine)
- ASP.NET MVC4 利用uploadify.js多文件上传
- ASP.NET mvc4中的过滤器的使用
- Asp.net MVC下使用Bundle合并、压缩js与css文件详解
- 详解Asp.Net MVC——控制器与动作(Controller And Action)