MVC4学习笔记之--身份认证过滤器
2015-03-27 15:52
351 查看
过滤器作为MVC模式中面向切面编程应用很广泛,例如身份验证,日志,异常,行为截取等。博客园里面的大神对应过滤器的介绍以及很多,MVC4中不同的过滤器也介绍得很清楚。FlyDragon 辉太 禁止吸烟 如果对过滤器还没有概念的童鞋,不妨先看看前面各位前辈的介绍(前面的文章说得已经很好了,而我是想写一个较为完整的例子)。
此文仅作为个人学习笔记整理,如果有幸对你有所帮助,不胜荣幸。如果文中有错误的地方,感谢指正。
如果在个人前期学习阶段,使用MVC自带的身份验证,给人的感觉就是无法自己达到自己想要的控制效果,掌握起来比较麻烦。往往在一个小的作为学习MVC的项目里面,反而自己写一个过滤器来实现相关的功能,反而觉得整个学习思路比较清晰。该实例的身份验证过滤器支持三种验证方式:
1.游客(每个人都可以访问)
2.用户(注册的用户)
3.管理员(后台管理)
一、先来看看数据库
View Code
如代码所示,Index需要需要把Rank的值设置为Anyone才能让每个人都可以访问。而About则不设置。默认需要登录的用户才可以访问。而Admin方法设置为Admin才能达到让管理权限的用户才能访问的功能。
首先,我们注册一个账号001,用户权限。
![](http://images.cnitblog.com/blog2015/712261/201503/271536548803781.jpg)
请注意RoleId那个表单,在实际使用中。我们提供给别人注册的表单里面是不能包含这个属性的,需要我们在后台的Action里面手动设置RoleId的值,这里我设置成2表示注册一个普通用户。
![](http://images.cnitblog.com/blog2015/712261/201503/271539587397418.jpg)
访问个人中心正常(个人中心对应的Action是About),但是我们点击管理后台的时候会自动跳转到登录页面
注册一个管理员权限的用户
![](http://images.cnitblog.com/blog2015/712261/201503/271542182702680.jpg)
![](http://images.cnitblog.com/blog2015/712261/201503/271542491302273.jpg)
访问管理页面正常
以上
如有需要demo的童鞋 点我下载
第一次写笔记 好紧张好害怕会不会被鄙视
此文仅作为个人学习笔记整理,如果有幸对你有所帮助,不胜荣幸。如果文中有错误的地方,感谢指正。
如果在个人前期学习阶段,使用MVC自带的身份验证,给人的感觉就是无法自己达到自己想要的控制效果,掌握起来比较麻烦。往往在一个小的作为学习MVC的项目里面,反而自己写一个过滤器来实现相关的功能,反而觉得整个学习思路比较清晰。该实例的身份验证过滤器支持三种验证方式:
1.游客(每个人都可以访问)
2.用户(注册的用户)
3.管理员(后台管理)
一、先来看看数据库
using MyAuthorizen.Class; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MyAuthorizen.Controllers { [MyAuthFilter] public class HomeController : Controller { // // GET: /Home/ [MyAuthFilter(Rank="Anyone")] public ActionResult Index() { return View(); } public ActionResult About() { return View(); } [MyAuthFilter(Rank="Admin")] public ActionResult Admin() { return View(); } } }
View Code
如代码所示,Index需要需要把Rank的值设置为Anyone才能让每个人都可以访问。而About则不设置。默认需要登录的用户才可以访问。而Admin方法设置为Admin才能达到让管理权限的用户才能访问的功能。
首先,我们注册一个账号001,用户权限。
![](http://images.cnitblog.com/blog2015/712261/201503/271536548803781.jpg)
请注意RoleId那个表单,在实际使用中。我们提供给别人注册的表单里面是不能包含这个属性的,需要我们在后台的Action里面手动设置RoleId的值,这里我设置成2表示注册一个普通用户。
![](http://images.cnitblog.com/blog2015/712261/201503/271539587397418.jpg)
访问个人中心正常(个人中心对应的Action是About),但是我们点击管理后台的时候会自动跳转到登录页面
注册一个管理员权限的用户
![](http://images.cnitblog.com/blog2015/712261/201503/271542182702680.jpg)
![](http://images.cnitblog.com/blog2015/712261/201503/271542491302273.jpg)
访问管理页面正常
以上
如有需要demo的童鞋 点我下载
第一次写笔记 好紧张好害怕会不会被鄙视
相关文章推荐
- Shiro学习笔记——(4)身份认证
- mongo-java-driver -3.2.2学习笔记-05-身份认证
- HTTP学习笔记10 用户身份认证
- 【安全牛学习笔记】思路、身份认证方法、密码破解方法、字典
- 【安全牛学习笔记】思路、身份认证方法、密码破解方法、字典
- Spring Security 学习笔记-登录认证过滤器
- Shiro 学习笔记(1)-Helloworld 和 身份认证
- 【安全牛学习笔记】w3af-身份认证
- Java 认证考试学习笔记(1)
- SSl双向认证学习笔记
- 招数和过滤器--Css学习笔记(八)
- 学习笔记之 WCF安全(2) 基本身份验证(windows账号密码)(wsHttpBinding)
- google contact API学习笔记一:认证
- Java学习笔记_身份验证机制
- WCF学习笔记(三)—— WCF安全模式:基于用户名、密码、X.509的身份验证
- appfuse实例中的web.xml学习笔记之过滤器
- Appfuse实例中的web.xml学习笔记之过滤器
- 以前的笔记或摘录:idsmpt身份认证相关
- Java学习笔记_身份验证机制
- JSP学习笔记——过滤器(二)使用