Asp .net Core中的AuthorizeAttribute

时间:2018-02-13 09:36:05

标签: asp.net-mvc-5 asp.net-core-mvc

我有一个使用MVC 5.0的应用程序。我正在将其转换为Asp .net核心。

在我的MVC应用程序中,我创建了自定义属性,该属性派生自类" AuthorizeAttribute"。我在这里使用两个主要功能" AuthorizeCore"和" HandleUnauthorizedRequest"。

有人可以帮助我使用Asp .net核心来实现它。

    public class AuthorizeRolesAttribute : AuthorizeAttribute
{

    private AuthorizationManager Authorize;
    public AuthorizeRolesAttribute()
    {
        Authorize = new AuthorizationManager();
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {

        //Allow user not login than dont apply permission

        var ControllerName = httpContext.Request.RequestContext.RouteData.Values["controller"].ToString().ToLower();
        var ActionName = httpContext.Request.RequestContext.RouteData.Values["action"].ToString().ToLower();
        return Authorize.IsControllerAllowed(ControllerName, ActionName);
    }


    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        filterContext.Result = new RedirectResult("~/Error/UnAuthorizedAccess");
    }
}

0 个答案:

没有答案