如何在不使用 Authorize 属性的情况下获取 User.Identity 值?
How can i get User.Identity values without using the Authorize attribute?
我正在开发一个使用 JwtBearer 的 api authentication.When 我正在尝试像这样使用 User.Identity;
[HttpGet]
public IActionResult Detail(int id)
{
if(User.Identity.IsAuthenticated)
{
return ...
}
else
{
return ..
}
}
用户不包含 token/user 数据和 User.Identity.IsAuthenticated 总是 return 错误。但是如果我添加
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
这会获取用户数据,但我希望未经身份验证的用户也可以访问。
如果没有授权过滤器,我怎么能做到这一点?
如果要允许未经身份验证的用户,也请添加 [AllowAnonymous]
属性。要建立的用户主体必须具有 [Authorize]
属性。
我正在开发一个使用 JwtBearer 的 api authentication.When 我正在尝试像这样使用 User.Identity;
[HttpGet]
public IActionResult Detail(int id)
{
if(User.Identity.IsAuthenticated)
{
return ...
}
else
{
return ..
}
}
用户不包含 token/user 数据和 User.Identity.IsAuthenticated 总是 return 错误。但是如果我添加
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
这会获取用户数据,但我希望未经身份验证的用户也可以访问。
如果没有授权过滤器,我怎么能做到这一点?
如果要允许未经身份验证的用户,也请添加 [AllowAnonymous]
属性。要建立的用户主体必须具有 [Authorize]
属性。