WebAPI中Authorize属性的默认作用是什么



我猜默认情况下[Authorize]属性会检查实现IPrincipal的非null对象?

我走对了吗?

我走对了吗?

是的,你是。更确切地说,您可以看看如何实现[Authorize]:的代码

protected virtual bool IsAuthorized(HttpActionContext actionContext)
{
    if (actionContext == null)
    {
        throw Error.ArgumentNull("actionContext");
    }
    IPrincipal user = Thread.CurrentPrincipal;
    if (user == null || !user.Identity.IsAuthenticated)
    {
        return false;
    }
    if (_usersSplit.Length > 0 && !_usersSplit.Contains(user.Identity.Name, StringComparer.OrdinalIgnoreCase))
    {
        return false;
    }
    if (_rolesSplit.Length > 0 && !_rolesSplit.Any(user.IsInRole))
    {
        return false;
    }
    return true;
}

相关内容

  • 没有找到相关文章

最新更新