VS - ActionFilterAttribute】的更多相关文章

项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩过webAPI,但是领导要求必须用这个(具体原因鬼知道),只好硬着头皮上了. 最近刚做完权限这一块,分享出来给大家.欢迎各种吐槽批判践踏... 先说说用户身份的识别,简单的做了一个token机制.用户登录,后台产生令牌,发放令牌,用户携带令牌访问... 1.cache管理类,由于博主使用的HttpRuntime.Cache来存储token,IIS重启或者意外关闭等情况会造成cache清空,只好在数据库做了cache…
1.分部视图方法不能添加该特性,会报子方法不能重定向操作的错误 2.必须用给filterContext.Result赋值的方法进行重定向,而不能用filterContext.HttpContext.Response.Redirect, 否则,该特性执行完成后,会继续执行Action和其他ActionFilterAttribute 示例代码如下: public class UserAuthenticationAttribute : ActionFilterAttribute { public ov…
权限验证: /// <summary> /// 管理员身份验证 /// </summary> public class BasicAuthenticationAttribute : ActionFilterAttribute { /// <summary> /// 管理员信息 /// </summary> public Admin Model { get; set; } /// <summary> /// 构造函数,进行获取管理员信息 /// &…
1.在filter类里面引用,与MVC里面的不同 using System.Web.Http.Controllers; using System.Web.Http.Filters; 2.filter类里面实现的代码,返回json public class FilterAttribute1 : ActionFilterAttribute { public override void OnActionExecuting(HttpActionContext filterContext) { var h…
1.0 创建Attribute using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace LSUnion.Site.WebHelper { [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method,AllowMultiple=false)] public class CheckAdminLoginA…
WebApi 提供两种过滤器的类型: 1.ActionFilterAttribute 2.exceptionFilterAttribute 两个类都是抽象类,ActionFilter 主要实现执行请求方法体之前(覆盖基类方法:OnActionExecuting),和之后的事件处理(覆盖基类方法:OnActionExecuted).exceptionFilter 主要实现出发异常方法(覆盖基类方法:OnException). 过滤器在实际项目中都会经常使用到,例如:日志.安全验证.全局错误处理等.…
效果图: 1.控制器 public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(User user) { if( LoginBLL.CheckLogin(ref user)) { MyCookie.Write(user); return Content("loging is ok <a href='/jq/List'>查看</a>"); } else {…
参考:http://www.cnblogs.com/waitingfor/archive/2011/12/27/2303784.html ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行. 而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于这个原理 我们做一个权限限制 例如:如何访问 HomeController  里的test  action using System;using System.…
在开发过程中,有时候会对用户输入进行过滤,以便保证平台的安全性.屏蔽的方法有很多种,但是今天我说的这种主要是利用MVC中的ActionFilterAttribute属性来实现.由于MVC天然支持AOP,所以我们这种过滤方式正好利用了MVC的这种特性. 下面请看步骤: 首先,当用户输入自己的名称的时候,带有类似<BR>的内容的时候,由于MVC默认是需要验证内容的,所以,会抛出一张黄页错误,提示用户:从客户端检测到潜在风险的Request值.这种页面是极为不友好的,同时也是我们作为开发最不想见到的…
http://diaosbook.com/Post/2014/6/3/execution-order-of-actionfilter-aspnet-mvc ASP.NET MVC里面我们要自定义ActionFilter的时候会发现有4个方法可以override:OnActionExecuting,OnActionExecuted,OnResultExecuting,OnResultExecuted.他们分别在什么时候执行一直是困扰人类的一个问题.我代表人类做了一个简单的实验: 首先自定义一个Ac…
在每一个web应用程序中, 有的情况下,你想在一段时间内缓存一个具体的页面HTML输出,因为相关的数据和处理并不是总是变化.这种缓存的响应是储存在服务器的内存中.因为没有必要的额外处理,它提供了非常快速的响应.使用经典的ASP.NET,你可以在.aspx页面上使用OutputCache指令,它告诉ASP.NET运行时在某一特定的时间段内来缓存响应数据.缓存可随参数而改变,这将导致产生依赖于参数的不同缓存响应.作为一个额外的功能,还可以发送一些HTTP头到客户端.在一段时间以内,客户端从浏览器缓存…
ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于这个原理 我们做一个权限限制 例如:如何访问 HomeController  里的test  action using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syste…
使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录 C#进阶系列——WebApi 异常处理解决方案 [ASP.NET Web API教程]4.3 ASP.NET Web API中的异常处理 Web API 实战之 异常处理…
此项目需求就是根据给用户分配的权限,进行相应的权限模块浏览功能,因为项目不是很大,所以权限没有去用一张表去存,我的解决思路如下,希望大家给点建议. 数据库用户表结构如下: 数据库表梳理: BankUserMember:权限分配表(-分行管理员, -超级管理员). BankUserInfo: 用户详细表. BankAgent: 机构层级表. 用户权限枚举表如下: /// <summary> /// 用户角色 /// </summary> public enum Role { ///…
[原文转载]http://www.cnblogs.com/QLeelulu/archive/2008/08/17/1269599.html 原文地址:ASP.NET MVC Tip #31 – Passing Data to Master Pages and User Controls原文作者:swalther 本文译者:QLeelulu 摘要:在 这个Tip中,我会讨论给MasterPages和UserControls传递数据的4种策略.我会讲解通过code-behind类.通过使用 Acti…
public class AuthFilterAttribute : ActionFilterAttribute { /// <summary> /// Action执行前处理 /// </summary> /// <param name="actionContext"></param> public override void OnActionExecuting(HttpActionContext actionContext) { Ht…
MVC中ActionFilterAttribute经常用来处理权限或者统一操作时的问题. 先写一个简单的例子,如下: 比如现在有一个用户管理中心,而这个用户管理中心需要登录授权后才能进去操作或浏览信息,这个时候我们不可能每一个页面都写一遍权限的判断,这个时候就需要我们进行统一判断权限,那么怎么统一权限呢?如果你了解MVC那么下面的代码应该很容易看懂,否则还是先看一下MVC基础吧. 1.创建一个类(用来检查用户是否登录和用户权限)代码如下: // 过滤器    public class Membe…
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using 过滤器.Controllers; namespace 过滤器.Filtes { public class MyActionFiterAttribute : ActionFilterAttribute { /// <summary> /// Action过滤器 执行方法之前…
.NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制 项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩过webAPI,但是领导要求必须用这个(具体原因鬼知道),只好硬着头皮上了. 最近刚做完权限这一块,分享出来给大家.欢迎各种吐槽批判践踏... 先说说用户身份的识别,简单的做了一个token机制.用户登录,后台产生令牌,发放令牌,用户携带令牌访问... 1.cache管理类,由于博主使用的HttpR…
在.Net Core 中使用AuthorizeFilter或者ActionFilterAttribute来实现登录权限验证和授权 一.AuthorizeFilter 新建授权类AllowAnonymous继承AuthorizeFilter,IAllowAnonymousFilter public class AllowAnonymous : AuthorizeFilter, IAllowAnonymousFilter { } 新建拦截类继承AuthorizeFilter public class…
1.API项目下创建MonitorApiAttribute public class MonitorApiAttribute : ActionFilterAttribute { private static readonly string key = "enterTime"; public override void OnActionExecuted(HttpActionExecutedContext filterContext) { try { object beginTime =…
一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作-筛选器特性的基类. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)] public abstract class ActionFil…
授权就是我们在用户未登录的情况下不允许访问一些页面,只有登录后才能进行访问一些页面. 在mvc中我们可以使用ActionFilterAttribute来进行授权验证来阻止一些未经授权的直接访问的页面. 首先再我们的项目中根目录中创建一个文件夹命名为Filter,在该文件夹内创建一个普通的类,注意:类名必须以 "Attribute" 结尾. 下图代码为授权验证类: using System; using System.Collections.Generic; using System.L…
与ActionFilter相关的接口有2个: □ IActionFilter 对action执行前后处理 void OnActionExecuting(ActionExecutingContext filterContext);可以在此对请求处理,甚至开启一个新的请求. void OnActionExecuted(ActonExecutedContext filterContext);可以在此对返回结果处理,甚至取消返回结果. 关于参数ActionExecutingContext和ActonEx…
实现思想:每个页面打开的时候会在页面的隐藏控件自动生成一个值并将这个值赋值session,当提交方法的时候会在过滤器的时候进行获取session和页面传值过来的隐藏控件的值进行比较,如果值相同的话,重写session值.否则的话给出提示. ActionFilter: using System;using System.Web;using System.Web.Mvc;using EwayFramework.Utils.Token; namespace EwayFramework.BaseCont…
如果你还是不太懂位运算,请看我的文章:那些年我们一起遗忘的位运算! 下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作: 1.  置顶 2.  设为首页 3.  同时为 “置顶”+ “设为首页” 效果如图: 我们要想简便的进行位运算,我们可以直接进行如下枚举定义,以2的次方定义,应为他们的值很特殊: 数      二进制值 1 1 2   10 4       100 8    1000 16     10000 32     100000 64     100000…
1.利用反射获取当前程序集下的所有控制器和方法,拼接后写入到数据库. public void GetRightInfo() { ; var controllerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(p => typeof(IController).IsAssignableFrom(p)); foreach (var item in controllerTypes) { var actionMethods = item.G…
ActionFilterAttribute里有OnActionExecuting方法,跟Controller一样, 同是抽象实现了IActionFilter接口. // 登录认证特性 public class AuthenticationAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContex…
在项目下新建一个文件夹来专门放过滤器类,首先创建一个类LoginFilter,这个类继承ActionFilterAttribute.用来检查用户是否登录和用户权限.: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace weixinmenu.Filter { /// <summary> /// 这个过滤器类继承Ac…
关于c#属性的教程:http://www.runoob.com/csharp/csharp-attribute.html 在asp.net mvc5中,可以利用ActionFilterAttribute类,以添加属性的方式很方便地实现权限管理. 这里我们用一个简单案例来作为演示. vs2017新建asp.net mvc5 项目,models文件夹新建AuthorizeFilterAttribute.cs: using System.Web.Mvc; namespace AuthDemo.Mode…