asp.net-mvc – 从OWIN身份验证中间件中考虑控制器属性
发布时间:2020-12-15 19:47:19 所属栏目:asp.Net 来源:网络整理
导读:我目前正在组建一个自定义OWIN身份验证中间件,以便重用我们的中央身份验证机制. 为了控制对页面的访问,我使用控制器上的[Authorize]和[AllowAnonymous]属性. 即使我理解OWIN中间件和属性处于页面生命周期的不同阶段,我想知道是否有办法通知中间件AllowAnonym
我目前正在组建一个自定义OWIN身份验证中间件,以便重用我们的中央身份验证机制.
为了控制对页面的访问,我使用控制器上的[Authorize]和[AllowAnonymous]属性. 即使我理解OWIN中间件和属性处于页面生命周期的不同阶段,我想知道是否有办法通知中间件AllowAnonymous属性存在且无需进一步处理请求. 通常,让中间件触发身份验证过程(在我的情况下,暗示转到远程页面 – OAuth2类型的身份验证)在访问应该匿名访问的站点的入口页面时会出现问题. 有谁知道如何实现这一目标? 解决方法
我知道这很老了,但我遇到了同样的问题.如果你还没有找到答案,还要帮助其他人来看:
关于中间件的要记住的是,你可以在控制器获取请求之前处理请求,然后再响应.因此,您无需直接访问属性,只需查看其结果即可. 考虑以下: namespace CustomAuthApp.MVC { public partial class Startup { public void ConfigureAuth(IAppBuilder app) { app.Use(async (ctx,next) => { if (ctx.ExtensionMethodToCheckIfAccessTokenExistsInRequestMaybeAsACookie()) { var ident = new ClaimsIdentity("External"); ctx.Request.User = new ClaimsPrincipal(ident); } await next(); if (ctx.Response.StatusCode == 401) { var loginUri = String.Format("{0}?ReturnUrl={1}","/Account/Login",ctx.Request.Path); ctx.Response.Redirect(loginUri); } } }); } } 我们检查是否存在来自oauth服务的访问令牌,如果存在,则在请求上设置ClaimsPrincipal(这将使其绕过[Authorized]属性).然后在await next()处理请求之后,我们可以检查响应状态并设置所需的重定向. 显然,这是一个非常简单的案例,并没有考虑角色或索赔等问题,但它应该让你顺利进行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何将Bitcoin比特币区块链数据导入关系数据库
- asp.net – 如何在生产.NET网站中更改Web引用?
- 水平asp.net菜单显示为垂直列表
- asp.net – 在使用ASPNet Core的Linux上托管时的Windows身份
- I can 前端-09 数据验证与ASP.NET验证控件
- asp.net – 如何将HttpRequestBase转换为HttpRequestMessag
- asp.net-mvc – 使用ASP.NET MVC 2 AsyncController实现长时
- asp.net – 自定义日期colmn telerik网格的过滤器选项
- asp.net – 我们如何在转发器内组合单选按钮?
- asp.net-mvc – 上传文件并验证文件扩展名和文件大小MVC 5
推荐文章
站长推荐
- asp.net-mvc-3 – MVC 3 Webgrid使整行可点击
- ASP.NET CSS CSS语法问题中的类与CSSClass的区别
- asp.net-mvc-3 – 模型binder属性类型int的问题
- asp.net-core – ASP.NET核心视图组件位置是否有
- asp.net – MVP MVC和MVVM之间的区别
- asp.net – 在Visual Studio 2008中将后期构建事
- ASP.NET Web Api:如何使用URL参数传递访问令牌(
- .net – 为什么要使用asp:HyperLink
- asp.net-mvc – 使用与本地化更改冲突的自定义数
- .net – 在Request.Form中搜索控件/解析NameValu
热点阅读