首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏.Net、.Net Core 、Docker

    .Net Core 权限验证与授权(AuthorizeFilter、ActionFilterAttribute

    在.Net Core 中使用AuthorizeFilter或者ActionFilterAttribute来实现登录权限验证和授权 一、AuthorizeFilter 新建授权类AllowAnonymous LoginAuthorzation>(); // 添加身份验证过滤器 } context.HttpContext.Request.Path.Value 获取请求过来的url 二、ActionFilterAttribute 创建权限判断类继承ActionFilterAttribute public class ActionFilterAttributeLogin: ActionFilterAttribute { base.OnActionExecuting(filterContext); } public class NoPermissionRequiredAttribute : ActionFilterAttribute

    2.4K40发布于 2019-09-11
  • 来自专栏yaphetsfang

    使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录

    在asp.net mvc 中 webapi 和 mvc 处理消息是两个不同的管道,Asp.net mvc 和 webapi 为我们提供的 ActionFilterAttribute 拦截器,通过 重写  通过ActionFilterAttribute ,就能拦截action 处理的所有内容,包括请求提交的参数以及返回值。 由于asp.net MVC 与webapi  是两个完全独立的管道: MVC由System.Web.Mvc.ActionFilterAttribute 来做action请求的拦截。 webapi 由 System.Web.Http.Filters.ActionFilterAttribute 来处理。 这样就可以注册你的 ActionFilterAttribute   成为全局的Filter,系统中请求经过Action 之前或之后 都会被你的ActionFilter 拦下来做处理然后在转交下去。

    5.7K30发布于 2020-07-30
  • 来自专栏汪宇杰博客

    ASP.NET Core如何在ActionFilterAttribute里做依赖注入

    但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢? 问题 我的博客系统里有个用来删除订阅文件缓存的ActionFilter,想要在发生异常的时候记录日志。 整个过滤器的代码如下: public class DeleteSubscriptionCache : ActionFilterAttribute { private static readonly Logger 于是代码变成了这样: public class DeleteSubscriptionCache : ActionFilterAttribute { protected readonly ILogger

    1.7K30发布于 2019-07-08
  • 来自专栏.NET开发那点事

    ASP.NET Core ActionFilter引发的一个EF异常

    public class BasicAuthenticationAttribute : ActionFilterAttribute { private readonly IAppService 继续查找问题,点开ActionFilterAttribute的元数据: public abstract class ActionFilterAttribute : Attribute, IActionFilter BasicAuthenticationAttribute,重写OnResultExecutionAsync方法: public class BasicAuthenticationAttribute : ActionFilterAttribute When using abstract classes like ActionFilterAttribute, override only the synchronous methods or the 当使用抽象类,比如ActionFilterAttribute,只需重写同步方法或者异步方法其中一个。

    95420发布于 2020-03-19
  • 来自专栏老马寒门IT

    前言

    ActionFilterAttribute Result filter IResultFilter 分别在Action Result执行之后和之前 ResultFilterAttribute 或者 action method, 或者 action result 抛出一个异常时候执行 HandleErrorAttribute 大家注意一点,Asp.Net MVC提供的ActionFilterAttributeActionFilterAttribute是一个Abstract的类型,所以不能直接使用,因为它不能实例化,所以我们想使用它必须继承一下它然后才能使用,下图所示的是ActionFilterAttribute 的实现: 所以我们在实现了ActionFilterAttribute,然后就可以直接重写一下父类的方法如下: publicvirtualvoid OnActionExecuted(ActionExecutedContext 首先我们添加一个普通的类,直接上代码吧: publicclass DemoActionAttributeFilter : ActionFilterAttribute { publicstring

    58210编辑于 2022-05-10
  • 来自专栏.NET开发那点事

    ASP.NET Core - 在ActionFilter中使用依赖注入

    { return "MyService"; } } public class FilterInjectAttribute: ActionFilterAttribute 改一下FilterInjectAttribute构造器多加入2个参数,并且保证这2个参数无法从DI中取到: public class FilterInjectAttribute: ActionFilterAttribute 总结 ActionFilterAttribute的依赖注入可以通过ServiceFilterAttribute,TypeFilterAttribute来实现 ServiceFilterAttribute 是通过DI容器来管理ActionFilterAttribute;TypeFilterAttribute则是通过一个工厂直接实例化,所以使用前不需要注册到DI容器中。 当实例化ActionFilterAttribute的时候如果构造器参数类型没有在DI容器中注册那么会尝试从Arguments列表中取。

    1.3K20发布于 2020-03-25
  • 来自专栏石瞳禅的互联网实验室

    ASP.NET MVC下判断用户登录和授权状态方法

    AuthenticationControllor { public ActionResult Index() { return View(); } } 继承ActionFilterAttribute ActionFilterAttribute里也有OnActionExecuting方法,跟Controller一样, 同是抽象实现了IActionFilter接口。 派生类如下: // 登录认证特性 public class AuthenticationAttribute : ActionFilterAttribute { public override void

    4.7K21发布于 2018-09-18
  • 来自专栏漫漫全栈路

    ASP.NET MVC 过滤器

    : Authorization | IAuthorization | AuthorizeAttribute | 首先运行,在其他过滤器的操作方法 Action | IActionFilter | ActionFilterAttribute | 运行之前和之后的动作方法 Result | IResultFilter | ActionFilterAttribute | 运行前后执行的操作结果 Exception | IExceptionFilter 创建过滤器 Filter 目录下新建一个类MyAction,并继承ActionFilterAttribute public class MyAction: ActionFilterAttribute { 结果过滤器 同样继承自ActionFilterAttribute实现,并提供了在两个不同时间点执行代码的能力,分别在 结果执行前(On ResultExecuting)/结果执行后(OnResultExecuted 创建结果过滤器 首先创建过滤器 MyResult.cs,同样的,在 Filter 文件夹下新建一个类,继承自 ActionFilterAttribute public class MyResult: ActionFilterAttribute

    2.5K30发布于 2019-12-11
  • 来自专栏张善友的专栏

    ASP.NET MVC Preview生命周期分析

    > SortActionFilters(Stack<MemberInfo> memberChain) {             List<ActionFilterAttribute> filters ActionFilterAttribute[] attrs = (ActionFilterAttribute[])member.GetCustomAttributes(typeof(ActionFilterAttribute  SortedList<int, ActionFilterAttribute>();                 foreach (ActionFilterAttribute filter in  一层一层调用所有的 ActionFilterAttribute.OnActionExecuting 方法,直到 MoveNext() == false。 这样所有ActionFilterAttribute.OnActionExecuted 也被执行完成。

    1.8K70发布于 2018-01-30
  • 来自专栏林德熙的博客

    asp dotnet core 限制接口只能本机访问的方法

    而本文的需求实际就是限制只能使用本机的 IP 进行访问 先添加一个类 LocalClientIpCheckActionFilter 继承 Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute 类 public class LocalClientIpCheckActionFilter : ActionFilterAttribute { } 在 LocalClientIpCheckActionFilter 对应的在 ActionFilterAttribute 里面可以重写的,还有 OnActionExecuted 方法,不同之处在于 OnActionExecuting 将会在调用之前被调用,而 OnActionExecuted

    2K10编辑于 2021-12-24
  • 来自专栏全栈程序员必看

    MVC过滤器的详细讲解和示范样本

    ExceptionFilter(异常处理过滤器) 过滤器类型 接口 默认实现 描写叙述 Action IActionFilter ActionFilterAttribute 在动作方法之前及之后执行 Result IResultFilter ActionFilterAttribute 在动作结果被执行之前和之后执行 AuthorizationFilter IAuthorizationFilter AuthorizeAttribute ///

    /// Action方法 过滤器 类 /// public class MyActionFilterAttribute : ActionFilterAttribute 在 视图载入 前 后 调用方法 /// public class MyResultFilterAttribute:System.Web.Mvc.ActionFilterAttribute

    55710编辑于 2022-07-06
  • 来自专栏平凡少年

    WebApi 服务监控

    监控程序实现 改监控程序主要继承ActionFilterAttribute类,在命名空间:System.Web.Http.Filters中,重写OnActionExecuted(HttpActionExecutedContext 在上一篇文章介绍MVC的监控也是重写ActionFilterAttribute类,但是MVC的ActionFilterAttribute在System.Web.Mvc命名空间下。 AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)] public class WebApiTrackerAttribute : ActionFilterAttribute

    1.4K30发布于 2019-04-11
  • 来自专栏Core Net

    ASP.NET Core 2.2 十八.各种Filter的内部处理机制及执行顺序

    图二 1.定义:以为例,可以通过继承ActionFilterAttribute并override它的OnActionExecuting和OnActionExecuted方法实现。 有好几种,但由于本文主要是分享Filter的运行机制,所以只以ActionFilter一种来举例,现在定义一个Test1Filter如下: public class Test1Filter : ActionFilterAttribute base.OnActionExecuted(context); //do...... } } 很简单,可以很方便的通过继承系统提供的ActionFilterAttribute 当然我们可以自定义Filter的Order使其不再采用默认值0,只需在其构造函数中设置即可 public class Test1Filter : ActionFilterAttribute

    2.6K10发布于 2019-03-06
  • 来自专栏程序随笔

    ASP.NET MVC Filter的思考

    AuthorizationFilter的实现最好是派生自AuthorizeAttribute类,而不是派生IAuthorizationFilter 看看AuthorizetionAttribute的实现: 看看ActionFilterAttribute 其他操作过滤器(如OutputCacheAttribute)实现抽象的ActionFilterAttribute类,该类可以在操作方法运行之前或之后使运行过滤器运行。

    40010编辑于 2023-10-18
  • 来自专栏DOTNET

    ASP.NET MVC编程——控制器

    FilterAttribute, IAuthorizationFilter 阻止伪造请求 6)AsyncTimeoutAttribute public class AsyncTimeoutAttribute : ActionFilterAttribute NoAsyncTimeoutAttribute : AsyncTimeoutAttribute 设置异步操作永不超时 8)OutputCacheAttribute public class OutputCacheAttribute : ActionFilterAttribute //处理能找到此控制器,但找不到请求对应的操作 } } 扩展授权过滤器(AuthorizeAttribute) 具体示例见:验证、授权与安全 动作过滤器(ActionFilterAttributeActionFilterAttribute是一个抽象类,有四个方法: 操作执行后被框架自动调用的方法:OnActionExecuted 操作执行前被框架自动调用的方法:OnActionExecuting

    3.2K90发布于 2018-03-30
  • 来自专栏张善友的专栏

    ASP.NET MVC的Action Filter

    为了让用户更简单的创建一个自定义Action filter,ASP.NET MVC Framework提供了一个基类ActionFilterAttribute,这个类实现了IActionFilter和IResultFilter ActionFilterAttribute类有以下的方法可以重写: OnActionExecuting – 在controller action执行之前调用 OnActionExecuted – 在controller using System.Globalization;     using System.Web.Mvc;     public class ExecutionTimingAttribute : ActionFilterAttribute

    2.4K100发布于 2018-01-22
  • 来自专栏程序随笔

    谈谈《Dotnet core结合jquery的前后端加密解密密码密文传输的实现》一文中后端解密失败的原因

    看了下代码,一分析还真是: public class ProcessViewResultAttribute : ActionFilterAttribute { public override void controller.ViewBag.PublicModulus = RSAUtil.PublicPars.PublicModulus; base.OnResultExecuting(context); } } ActionFilterAttribute

    23510编辑于 2023-10-19
  • 来自专栏技术赋能学术

    .net 温故知新【16】:Asp.Net Core WebAPI 筛选器

    public class MyAttributeFilter: ActionFilterAttribute { public override void OnActionExecuted ; } } public class MyOPAttributeFilter : ActionFilterAttribute { public 比如我们想在操作方法的MyOPAttributeFilter筛选属性 注入IHostEnvironment: public class MyOPAttributeFilter : ActionFilterAttribute

    74710编辑于 2023-12-19
  • 来自专栏DotNet程序园

    Asp.Net Core 轻松学-被低估的过滤器

    相同类型的过滤器还可以定义在某个阶段执行的顺序 授权过滤器 AuthorizeAttribute 资源过滤器 IResourceFilter 异常过滤器 IExceptionFilter 操作过滤器 ActionFilterAttribute 操作过滤器 ActionFilterAttribute 和 结果过滤器 IResultFilter 操作过滤器:当请求进入 API 接口的时候,操作过滤器提供了一个进入之前(before)和进入之后( IFilterMetadata, IAsyncActionFilter, IResultFilter, IAsyncResultFilter, IOrderedFilter { protected ActionFilterAttribute 个基础方法,分别是执行前(before)执行后(after),写入结果前(before)写入后(after) 为什么会这样呢,因为操作过滤器实现的接口中包含了结果过滤器的接口 根据官方的提示,如果你需要重写 ActionFilterAttribute Core 下系统内置的各种各样的过滤器,分别是 > 授权过滤器 AuthorizeAttribute 资源过滤器 IResourceFilter 异常过滤器 IExceptionFilter 操作过滤器 ActionFilterAttribute

    1.8K40发布于 2019-04-11
  • 来自专栏重典.NET

    ASP.NET MVC 重点教程一周年版 第六回 过滤器Filter

    Filter要继承于ActionFilterAttribute抽象类,并可以覆写void OnActionExecuting(ActionExecutingContext)和 void OnActionExecuted Action的Filter 下面我给大家一个示例,来看看它的的执行顺序 首先我们先建立 一个Filter,名字叫做TestFilter public class TestFilter : ActionFilterAttribute

    43920编辑于 2022-04-11
领券