授权就是我们在用户未登录的情况下不允许访问一些页面,只有登录后才能进行访问一些页面。

在mvc中我们可以使用ActionFilterAttribute来进行授权验证来阻止一些未经授权的直接访问的页面。

首先再我们的项目中根目录中创建一个文件夹命名为Filter,在该文件夹内创建一个普通的类,注意:类名必须以 "Attribute" 结尾。

下图代码为授权验证类:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MVC_CRUD.filters
{
public class MyAuthorizeFilterAttribute : ActionFilterAttribute//必须继承于ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)//重写OnActionExecuted,
{
base.OnActionExecuted(filterContext);
HttpContextBase http = filterContext.HttpContext;
if (http.Request.Cookies["adminName"]==null)//判断是否有cookise(用户登录存入的cookise)
{
http.Response.Redirect("http://localhost:1299/Home/login");//要跳转的页面(一般都是跳转至登录页)
}
}
}
}

写好授权后,我们要在需要授权的控制器中加上我们的特性,比如我要在Index上验证未登录用户不可访问,可以在它的Action上方加上[MyAuthorizeFilter]

注意我们要在using 引用我们的文件,否则会找不到。

如果整个控制器的Action中需要授权验证,那么可以在控制器类上方加上[MyAuthorizeFilter]。

这样可以达到当我们运行一个授权的页面在未登录的情况下自动跳转到登录页面。

最新文章

  1. 【腾讯Bugly干货分享】Redex初探与Interdex:Andorid冷启动优化
  2. 给iOS开发新手送点福利,简述文本属性Attributes的用法
  3. VS2013添加使用lib的方法
  4. 无线ap和路由器wifi热点怎么区分和区别
  5. PHP+jQuery 注册模块的改进之二:激活链接的URL设置与有效期
  6. bzoj 3118: Orz the MST(单纯形)
  7. base64 encoding
  8. Oracle RAC集群安装之:Grid软件安装过程蓝屏
  9. Uva 796 Critical Links 找桥
  10. 1201.1——Vim编辑器的相关操作
  11. Thinkpad E430+CentOS 6.4+ linux-3.10.12内核网卡驱动(无线+有线)配置
  12. 手机端 UI一些插件
  13. Java动态代理简单应用
  14. UINavigationBar
  15. 如何用php实现简单的文件上传功能?(带图解)
  16. Python内置函数(34)——filter
  17. Linux内存管理 (15)页面迁移
  18. CF438E The Child and Binary Tree 生成函数、多项式开根
  19. cf1132G. Greedy Subsequences(线段树)
  20. Spark SQL自定义外部数据源

热门文章

  1. linux ubuntu R 无法安装rggobi包的原因及解决方案
  2. Angular学习笔记:Angular CLI
  3. NOIP2017提高组day2T1题解(奶酪)
  4. 神奇的幻方(NOIP2015)
  5. hdu-1043(八数码+bfs打表+康托展开)
  6. Visual C++实现局域网IP多播
  7. 记录:CSS选择器学习
  8. 把sublime text打造成python交互终端(windows和Ubuntu)
  9. (转)memcached的运行状态监控
  10. 20145232 韩文浩 《Java程序设计》第10周学习总结