【发布时间】:2019-01-09 03:31:23
【问题描述】:
即使我设置了我的用户不在的组,我的带有令牌身份验证的 Web API 2 服务也始终有效。请问如何设置基于角色的授权?
public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DOMAIN"))
{
bool isValid = pc.ValidateCredentials(context.UserName, context.Password);
if (!isValid)
{
context.SetError("invalid_grant", "The user name or password is incorrect.");
return Task.FromResult<object>(null);
}
}
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
identity.AddClaim(new Claim(ClaimTypes.Role, "NotValidGroup"));
context.Validated(identity);
return Task.FromResult<object>(null);
}
**[Authorize]**
public IHttpActionResult Get(string p)
{
return Ok(GetData(p));
}
【问题讨论】:
标签: asp.net-web-api2 authorization access-token