mvc 4 ActionFilterAttribute 特性,进行权限验证
权限验证:
/// <summary>
/// 管理员身份验证
/// </summary>
public class BasicAuthenticationAttribute : ActionFilterAttribute
{
/// <summary>
/// 管理员信息
/// </summary>
public Admin Model { get; set; }
/// <summary>
/// 构造函数,进行获取管理员信息
/// </summary>
public BasicAuthenticationAttribute()
{
string admininfo = CookieHelper.GetCookie("AdminInfo"); if (!string.IsNullOrEmpty(admininfo))
{
Model = MemcachedHelper.Get<Admin>(admininfo);
}
} /// <summary>
/// 检查用户是否有该Action执行的操作权限
/// </summary>
/// <param name="actionContext"></param>
public override void OnActionExecuting(HttpActionContext actionContext)
{
////在action执行前终止请求时,应该使用填充方法Response,将不返回action方法体。
// actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK,new{a=actionContext.ControllerContext.Request.RequestUri.LocalPath});
//判断管理员是否存在
if (Model == null)
{
if (!actionContext.ControllerContext.Request.RequestUri.LocalPath.ToLower().Equals("/api/login/login"))
{
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
}
base.OnActionExecuting(actionContext);
}
}
BaseController
[BasicAuthentication]
public class BaseController : ApiController
{
/// <summary>
/// 当前登录管理员信息
/// </summary>
public Admin AdminModel;
public BaseController()
{
//通过反射获取验证特性中的属性
Type tp = typeof(BaseController);
MemberInfo info = tp;
BasicAuthenticationAttribute basic = (BasicAuthenticationAttribute)Attribute.GetCustomAttribute(info, typeof(BasicAuthenticationAttribute));
AdminModel = basic.Model;
}
}
mvc 4 ActionFilterAttribute 特性,进行权限验证的更多相关文章
- ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
原文:ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model ...
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
原文:ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象, ...
- MVc Forms Membership rolemanage 角色权限验证管理
Forms 登录验证Membership 权限验证rolemanage 角色管理 以往的项目中只有单纯的Forms 验证今天想把这三个结合到mvc 中发现要导入aspnet_ 相关表,但是有个问题验 ...
- ASP.NET MVC 利用ActionFilterAttribute来做权限等
ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于 ...
- MVC 基于FormsAuthentication 方式的权限验证
1.登录的代码 1 [HttpPost] 2 public ActionResult Index(User entity) 3 { 4 User user = GetUser(entity.Name, ...
- ASP.NET MVC学习---(九)权限过滤机制(完结篇)
相信对权限过滤大家伙都不陌生 用户要访问一个页面时 先对其权限进行判断并进行相应的处理动作 在webform中 最直接也是最原始的办法就是 在page_load事件中所有代码之前 先执行一个权限判断的 ...
- 【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
在项目开发中,通常我们都会涉及到用户登录才能访问的网页,比如购物网站,我们浏览商品,添加购物车(以前开发的时候在这里就需要登录用户,但是现在有了缓存的实现,这里可以将商品加入缓存,等到结账的时候再登录 ...
- MVC 自定义过滤器/特性来实现登录授权及验证
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 最近在做自学MVC,遇到的问题很多,索性一点点总结 ...
- C# MVC权限验证
前言 之前一直没怎么接触过权限验证这块,刚好公司老平台改版,就有了这篇权限验证.此篇文章大致讲解下 精确到按钮级别的验证如何实现.以及权限验证设计的参考思路(菜鸟一枚,大神勿喷). 在开发大项目的时候 ...
随机推荐
- AX7: How to deploy a Package
A. Using LCS services. B. Manual using command prompt. Here I’ll show using command prompt, as I fou ...
- NodeJs 连接mysql一例。
var mysql = require('mysql'); var connection = mysql.createConnection({ host :'127.0.0.1', user :'ro ...
- python---常见的数据队列
一.FIFO队列(先进先出) #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'zhoufeng' #FIFO队列 import q ...
- This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms while caching 问题及解决
一.背景 情节1:做别的测试安装下载了软件,妈蛋结果下了百度各种捆绑软件,之后一一卸载,清洁. 情节2:做完上述动作重启电脑后,有线连接连不上,尴尬,然后下载驱动,升级之后ok了. 二.问 ...
- [Qt系列] 何处下载,如何安装!
时间:2016.07.29 -------------------------------------------- 其实方法有很多! 我的思路是想独立使用它,不想联合VS. 下载地址:http:// ...
- web初学之MVC
之前对JavaEE的MVC模式有些许了解,但一直没有很好的掌握,在读代码时候也很模糊不清.因此对MVC又通过各种资料有了全面的理解. 一.首先,需要从了解JavaEE技术开始.JavaEE技术在设计程 ...
- javaScript 正则表达式匹配日期
// yyyyMMddhhmmss var pattern = /^(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(? ...
- VC++ 如何让ScrollView视图显示滚动条
CSize sizeTotal; sizeTotal.cx = ;//值设大点 sizeTotal.cy = ;//值设大点 SetScrollSizes(MM_TEXT, sizeTotal); 显 ...
- m.jd.com首页中的js效果
m.jd.com中的部分js效果 昨天把m.jd.com的首页布局写好了,今天写一下首页中部分js效果.头部背景色透明度的改变,焦点图轮播,京东快报的小轮播,以及秒杀倒计时.这里html,css样式就 ...
- hdu5834
题目让求得是从任意一点出发可以不回来得到的最大的价值 这应该不算特别水的树形dp了,它不止要从上往下dfs,后来海要重新dfs,根据父亲节点更新儿子节点,算是正常的树形dp中比较简单的吧. 思路: 先 ...