asp.net-mvc – 具有自定义重定向的AuthorizeAttribute
发布时间:2020-12-16 06:54:06 所属栏目:asp.Net 来源:网络整理
导读:我想使用标准的AuthorizeAttribute(即不继承它),但使用自定义重定向.那可能吗?我应该在哪里检查401并重定向? 我试过补充一下 customErrors mode="On" error statusCode="401" redirect="/Errors/NotAuthorized/" / /customErrors 但它不起作用. 解决方法
我想使用标准的AuthorizeAttribute(即不继承它),但使用自定义重定向.那可能吗?我应该在哪里检查401并重定向?
我试过补充一下 <customErrors mode="On" > <error statusCode="401" redirect="/Errors/NotAuthorized/" /> </customErrors> 但它不起作用. 解决方法
在我的ApplicationController中做了这个:
protected override void OnAuthorization(AuthorizationContext filterContext) { var attributes = filterContext.ActionDescriptor.GetCustomAttributes(typeof(AuthorizeAttribute),true); if (attributes.Length == 0) attributes = GetType().GetCustomAttributes(typeof(AuthorizeAttribute),true); if (attributes.Length == 0) return; foreach (AuthorizeAttribute item in attributes) { if (!Thread.CurrentPrincipal.IsInRole(item.Roles)) { filterContext.Result = new RedirectResult("/Errors/Unauthorized"); } } } 我会奖励任何有更好解决方案的人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在asp.net中动态构建SiteMapPath
- 漫谈认证与授权
- asp.net-mvc – 社交网络开发,Orchard或Composite C1的最佳
- asp.net – 使用FindControl:在窗体视图中访问控件
- asp.net-mvc – ASP.NET MVC中具有动态数量的texbox的表单
- ASP.NET网站内存使用率相当高
- asp.net-mvc – 如何在ASP.NET MVC 3应用程序中处理未捕获的
- asp.net – 使用必填字段验证器更改文本框颜色 无扩展器控制
- asp.net-mvc-3 – 在Application_Start中访问ninject内核
- asp.net-mvc – ASP.NET MVC 3:验证获取消息列表
推荐文章
站长推荐
- 使用ASP.NET反转Ajax(Comet)
- asp.net – IQueryable和存储库 – 需要2?
- asp.net core3.0 mvc 用 autofac
- asp.net – AutoMapper问题
- asp-classic – 从JScript代码调用VB编写的函数(
- asp.net – HttpContext.Current.Cache可用于所有
- asp.net – 使用ASP .Net MVC4处理Web API中的集
- asp.net-mvc – 如何禁用自动完成在MVC Html助手
- asp.net-core – 如何在MVC Visual Studio 2015中
- asp.net – HttpClient不会从CookieContainer发送
热点阅读