在WebApi项目中,我有一个自定义的AuthorizationFilter属性,我在其中获取标头中传递的标记,并使用我们的SSO提供程序对其进行验证。
我想设置Principle.Identity.IsAuthenicated为true但我不能只读它。
如何创建一个自定义原则,其身份在我告知时已经过身份验证设置为true?
这就是我所拥有的:
public class CustomAuthorize : AuthorizationFilterAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{
var token = ParseAuthorizationHeader(actionContext);
if (token == null)
{
throw new HttpResponseException(HttpStatusCode.Unauthorized);
}
if (this.AuthorizeToken(token)) //this just validates the token with our SSO
{
// how would I set this?
actionContext.RequestContext.Principal.Identity.IsAuthenticated
}
}