我正在使用 ASP.NET Core 和 MediatR 构建应用程序/Web API。
身份验证(Google 帐户)在 ASP.NET Core 中完成。控制器只创建一个薄层,将所有工作委托给 MediatR 及其请求处理程序。
关于授权,目前,我的方法是,如果用户已通过身份验证,我的大多数控制器都装饰有 [Authorize] 属性以及 MediatR 管道检查(通过行为)中的相应请求处理程序,因此存在重复性。
我的问题是,让所有控制器都允许匿名访问并且只检查 MediatR 管道中的身份验证/授权是一种不好的做法吗?
当然,我需要将它保存在请求处理程序中,因为它们正在形成实际的应用程序层,并且我希望它独立于 ASP.NET。也只测试了这一层。