我正在研究 ASP.NET Core Web API。我使用的是最新版本 3.0.0-preview4.19216.2。
我有问题,我的 API-Controller 忽略了 Authorize-Attribute 但在另一个控制器上 Attribute 工作正常。
[Route("api/[controller]")]
[ApiController]
[Authorize(AuthenticationSchemes =JwtBearerDefaults.AuthenticationScheme)]
public class SuppliersController : ControllerBase
{
[HttpGet("GetAll")]
public IActionResult GetAll()
{
var companyId = int.Parse(User.Claims.FirstOrDefault(c => c.Type == "Company_Id").Value); // throws nullreference exception
return Ok();
}
}
但是在另一个控制器上我有类似的东西但是属性按预期工作
[Route("api/[controller]")]
[ApiController]
[Authorize]
public class UsersController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult GetById(int id)
{
var test = User.Claims.FirstOrDefault(c => c.Type == "Company_Id").Value;
}
}
在用户控制器中一切正常。
我也在没有的 SupplierController 中尝试过
认证方案
但没有什么不同。
心有法竹
UYOU
随时随地看视频慕课网APP
相关分类