小编Lee*_*Lee的帖子

仅在具有授权属性的端点上有条件地使用中间件

我已经编写了一个我只想在经过身份验证的端点上运行的中间件。

所以基本上我希望它在我的实现中只在控制器或动作标记为[Authorize]. 任何不需要授权的控制器操作都不需要我的中间件来触发。

我发现了 UseWhen 功能,但我管理的最好的是中间件仅在用户通过身份验证后触发。但是,如果用户登录后仍会在所有端点上触发。

这是我目前的条件。

        app.UseWhen(context => context.User.Identity.IsAuthenticated, appBuilder =>
        {
            appBuilder.UseAutomaticallyRefreshTokenMiddleware();
        });
Run Code Online (Sandbox Code Playgroud)

我想我只需要更改上下文检查,但不确定用什么替换它。

c# middleware asp.net-core asp.net-core-identity

5
推荐指数
1
解决办法
1530
查看次数