我已经编写了一个我只想在经过身份验证的端点上运行的中间件。
所以基本上我希望它在我的实现中只在控制器或动作标记为[Authorize]. 任何不需要授权的控制器操作都不需要我的中间件来触发。
我发现了 UseWhen 功能,但我管理的最好的是中间件仅在用户通过身份验证后触发。但是,如果用户登录后仍会在所有端点上触发。
这是我目前的条件。
app.UseWhen(context => context.User.Identity.IsAuthenticated, appBuilder =>
{
appBuilder.UseAutomaticallyRefreshTokenMiddleware();
});
Run Code Online (Sandbox Code Playgroud)
我想我只需要更改上下文检查,但不确定用什么替换它。