asp.net vnext。 mvc 6.实施简单的自己的授权

时间:2014-12-14 11:05:27

标签: asp.net rest asp.net-web-api authorization asp.net-core

我正在为倾斜vNext和新MVC编写简单的REST服务。我想了解如何使用自定义逻辑创建简单的OWIN授权。 例如,假设一个服务只有一个简单的内存中的令牌列表,我想检查一个请求是否包含该列表中存在的令牌。

如果我理解正确,我只需要覆盖AuthorizeAttribute类,但我找不到如何以正确的方式执行此操作。

public class CustomAuthorize : AuthorizeAttribute
{
    public override Task OnAuthorizationAsync(AuthorizationContext context)
    {
        return base.OnAuthorizationAsync(context);
    }
}

如果我误解了这个,你能解释一下我需要使用哪些课程吗?我可以这样做。

1 个答案:

答案 0 :(得分:4)

您可以使用:

public class AuthorizeClass: ActionFilterAttribute
    {
        public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            if (context.HttpContext.Session["token"] == null || context.HttpContext.Session["user"] == null)
            {
                context.HttpContext.Response.Redirect("/login");
            }
            await next();
        }

    }