asp.net-core – 在ASP.NET vNext过滤器中获取注入对象
发布时间:2020-12-15 21:03:25 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试创建自定义authorize属性,但在使用默认依赖注入框架的asp.net vnext中,我不知道如何获取注入的对象.我需要在默认的ctor中获取注入的对象. public class CustomAttribute{ private IDb _db; public CustomAttribute() { _db = null; // get injecte
我正在尝试创建自定义authorize属性,但在使用默认依赖注入框架的asp.net vnext中,我不知道如何获取注入的对象.我需要在默认的ctor中获取注入的对象.
public class CustomAttribute { private IDb _db; public CustomAttribute() { _db = null; // get injected object } public CustomAttribute(IDb db) { _db = db; } // apply all authentication logic } 解决方法
您可以将
ServiceFilterAttribute用于此目的.服务过滤器属性允许DI系统负责实例化和维护过滤器CustomAuthorizeFilter及其任何所需服务的生命周期.
例: // register with DI services.AddScoped<ApplicationDbContext>(); services.AddTransient<CustomAuthorizeFilter>(); //------------------ public class CustomAuthorizeFilter : IAsyncAuthorizationFilter { private readonly ApplicationDbContext _db; public CustomAuthorizeFilter(ApplicationDbContext db) { _db = db; } public Task OnAuthorizationAsync(AuthorizationContext context) { //do something here } } //------------------ [ServiceFilter(typeof(CustomAuthorizeFilter))] public class AdminController : Controller { // do something here } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 需要ASP.Net/MVC Rich Text Editor
- ASP.Net Session_Start事件未触发
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装
- asp.net 自动将汉字转换成拼音第一个字母
- 如何在ASP.NET MVC中手动设置用户的角色?
- 如何在ASP.NET应用程序中避免SQL注入攻击?
- ASP.NET MVC,ActionFilters,静态类和传递数据
- asp.net-mvc – 如何在ASP.NET MVC中使用编译的全局资源
- asp.net-mvc – MVC4 Action返回没有null的JsonResult
- .net – DataContract Serializer数组节点名称’d3p1′