使用 C# 在干净的架构中实现身份验证和授权

问题描述 投票:0回答:0

在 ASP.NET Core 中,我们可以在控制器中的方法上使用

[Authorize]
属性。它适用于身份验证和授权。

但是在使用干净的架构时,我们做不到。认证授权属于应用层

问题是每次我想验证或授权某事时,我都需要在代码中手动完成。看起来不太好

所以我想一定有更好的解决方案。我知道我可以使用

MediatR
和管道,但我不使用它。相反,我有简单的界面
IRequestHandler<TRequest, TResult>
HandleAsync
方法。

如何对从

HandleAsync
继承的类或直接从它继承的类对
IRequestHandler
的每次调用执行身份验证或授权?如果身份验证/授权失败并返回适当的结果,我如何取消
HandleAsync
方法的处理(适当的我的意思是与
TResult
中定义的
IRequestHandler
兼容)?

c# authentication authorization clean-architecture
© www.soinside.com 2019 - 2024. All rights reserved.