手动验证用户对每个请求的声明

时间:2019-02-14 17:07:48

标签: asp.net-core asp.net-identity asp.net-core-2.1 asp.net-identity-3 asp.net-core-2.2

我在API上使用ASP.NET Core 2.2和ASP.NET Identity。

是否可以为每个请求手动验证具有索赔的用户?

我想在初期开发阶段使用它...

1 个答案:

答案 0 :(得分:0)

要在不登录的情况下对用户进行身份验证,可以尝试如下操作:

public async Task<IActionResult> Login()
{
    var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme, ClaimTypes.Name, ClaimTypes.Role);
    identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, "edward"));
    identity.AddClaim(new Claim(ClaimTypes.Name, "edward zhou"));
    //add your own claims 
    var principal = new ClaimsPrincipal(identity);
    await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, new AuthenticationProperties { IsPersistent = true });            
    return View();
}