我有一个 MVC webapi 站点,它使用 OAuth/令牌身份验证来验证请求。所有相关控制器都具有正确的属性,身份验证正常工作。
问题是并不是所有的请求都可以在一个属性的范围内被授权——一些授权检查必须在控制器方法调用的代码中执行——在这种情况下,返回一个401未授权响应的正确方法是什么?
我已经尝试了 throw new HttpException(401, "Unauthorized access");
,但是当我这样做时,响应状态代码是500,我还得到一个堆栈跟踪。即使在我们的日志中,我们也可以看到响应是500,而不是401。