【发布时间】:2021-05-26 22:04:17
【问题描述】:
我应该检查自定义标头是否存在,例如:[“apikey”],然后检查数据库中是否存在给定键。如果不存在,则未经授权返回。我应该使用授权属性还是基于策略的授权处理程序?
【问题讨论】:
-
如果您可以使用策略,我们鼓励您使用策略。编写自定义授权属性应该是最后的手段。
-
欢迎来到 StackOverflow。为了帮助您,我们必须充分理解您的问题。请具体,不要跳过细节。请阅读"How to ask a good queatios"
-
我同意@Marco,使用基于策略的授权将使您的代码更可重用和更清洁。
-
由于验证起来很简单,我很困惑哪个更好。即使我发现它基于策略的身份验证处理程序是一种更好的方法,并且可以在未来添加更多的请求处理程序。
-
我不同意。使用策略是人为的,并且“僵硬”你最终还是硬编码这些策略。我发现,对于简单的验证,最好使用属性,而对于基于权限(不是基于角色)的安全性等其他事情,最好使用属性并使其成为数据库驱动的,
标签: c# asp.net-core .net-core