如何排除需要验证的特定控制器操作?

时间:2019-03-27 08:46:30

标签: c# oauth-2.0 asp.net-web-api2 identityserver3

背景

我正在使用Identity Server 3将自检添加到由OAuth2保护的API上。为此,我添加了MonitoringController,并带有一组有限的检查。

我要做的主要检查是确保可以使用固定的测试凭据来请求令牌。

与之相比,我们的监视系统可以定期调用此操作,并确保可以请求令牌,这比仅保持活动的ping(我们也有)更有效。

但是

由于整个API都处于身份验证状态,因此MonitoringController也默认处于启用状态。

这意味着不允许我的令牌请求检查。首先必须请求令牌会破坏此检查的全部目的。

  

如何排除我的MonitoringController不需要身份验证,   确保所有其他控制器仍处于检查状态?

1 个答案:

答案 0 :(得分:2)

您应该能够将AllowAnonymous属性放在控制器或方法上。

[AllowAnonymous]
public async Task<IHttpActionResult> DoSomeMonitoring()