我正在开发使用JwtBearer进行身份验证的api。当我尝试像这样使用User.Identity时;
[HttpGet]
public IActionResult Detail(int id)
{
if(User.Identity.IsAuthenticated)
{
return ...
}
else
{
return ..
}
}
用户不包含令牌/用户数据,并且User.Identity.IsAuthenticated始终返回false。但是如果我加
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
这将获取用户数据,但我希望未经身份验证的用户也可以访问。
没有授权过滤器怎么办?
答案 0 :(得分:1)
如果您要允许未经身份验证的用户,还请添加[AllowAnonymous]
属性。您必须具有[Authorize]
属性才能建立用户主体。