使用ActionFilterAttribute实现MVC后台授权
2024-10-11 08:11:22
授权就是我们在用户未登录的情况下不允许访问一些页面,只有登录后才能进行访问一些页面。
在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]。
这样可以达到当我们运行一个授权的页面在未登录的情况下自动跳转到登录页面。
最新文章
- 【腾讯Bugly干货分享】Redex初探与Interdex:Andorid冷启动优化
- 给iOS开发新手送点福利,简述文本属性Attributes的用法
- VS2013添加使用lib的方法
- 无线ap和路由器wifi热点怎么区分和区别
- PHP+jQuery 注册模块的改进之二:激活链接的URL设置与有效期
- bzoj 3118: Orz the MST(单纯形)
- base64 encoding
- Oracle RAC集群安装之:Grid软件安装过程蓝屏
- Uva 796 Critical Links 找桥
- 1201.1——Vim编辑器的相关操作
- Thinkpad E430+CentOS 6.4+ linux-3.10.12内核网卡驱动(无线+有线)配置
- 手机端 UI一些插件
- Java动态代理简单应用
- UINavigationBar
- 如何用php实现简单的文件上传功能?(带图解)
- Python内置函数(34)——filter
- Linux内存管理 (15)页面迁移
- CF438E The Child and Binary Tree 生成函数、多项式开根
- cf1132G. Greedy Subsequences(线段树)
- Spark SQL自定义外部数据源