asp.net-mvc – ASP.NET MVC使用自定义角色提供程序重定向到访问被拒绝页面

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC使用自定义角色提供程序重定向到访问被拒绝页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建一个自定义角色提供程序,我设置了授权属性指定角色在我的控制器,它的工作很好,像这样:
[Authorize(Roles="SuperAdmin")]
public class SuperAdminController : Controller
...

但是当用户不能访问此控制器时,他将被重定向登录页面
如何将他重定向到“AcessDenied.aspx”页面

解决方法

[AccessDeniedAuthorize(Roles="SuperAdmin")]
public class SuperAdminController : Controller

AccessDeniedAuthorizeAttribute.cs:

public class AccessDeniedAuthorizeAttribute : AuthorizeAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        base.OnAuthorization(filterContext);

        if(filterContext.Result is HttpUnauthorizedResult)
        {
            filterContext.Result = new RedirectResult("~/AcessDenied.aspx");
        }
    }
}

猜你在找的asp.Net相关文章