【发布时间】:2015-09-16 19:34:10
【问题描述】:
我正在尝试通过 AuthorizeAttribute 的 IsAuthorized 方法实现 CustomAuthorization。
假设此时用户已经通过身份验证,我可以检索在身份验证期间分配给用户的用户名和其他声明。我正在使用承载身份验证。
但是当我检查 actionContext.RequestContext.Principal.Identity.IsAuthenticated 时,它总是返回 false。
我如何访问用户是谁以及在此方法的身份验证期间分配给他的任何声明?
这是我所指的代码,这不是完整的实现,incomingPrincipal.Identity.IsAuthenticated 总是假的。
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool IsAuthorized(HttpActionContext actionContext)
{
IPrincipal incomingPrincipal = actionContext.RequestContext.Principal;
if (!incomingPrincipal.Identity.IsAuthenticated)
return false;
else
{
return true;
}
Debug.WriteLine(string.Format("Principal is authenticated at the start of IsAuthorized in CustomAuthorizationFilterAttribute: {0}", incomingPrincipal.Identity.IsAuthenticated));
}
}
【问题讨论】:
标签: authorization asp.net-web-api2