servicestack - ValidateHasRole 与 RequireRole 属性

标签 servicestack

[RequireRole("admin")][ValidateHasRole("admin")] 等属性有什么区别?

https://docs.servicestack.net/authentication-and-authorization#requiredrole-and-requiredpermission-attributes https://docs.servicestack.net/declarative-validation#type-validators

它在文档中确实说:

ServiceStack 包含所有授权过滤器属性的内置类型验证器属性,但由于它们与任何实现解耦,因此可以在请求 DTO 上安全地进行注释,而不需要任何实现依赖项。

那些是哪些依赖项?据我了解,[RequireRole("admin")] 可以放在服务上或直接放在 DTO 上。

最佳答案

[RequireRole]RequiredRoleAttribute.cs 实现ServiceStack.dll 中的请求过滤器属性。

您的ServiceModel project包含您的 API DTO 不应该有任何具体的实现程序集,例如 ServiceStack.dll,因此如果您想使用身份验证属性注释您的请求 DTO,您应该使用 declarative fluent validation [Vaidate*] 而不是存在于 impl-free ServiceStack.Interfaces.dll 中 - 即您的服务模型 (DTO) 应该引用的唯一 ServiceStack.dll。

关于servicestack - ValidateHasRole 与 RequireRole 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68815953/

相关文章:

redis - 如何根据我的域中引发的事件在 RedMQ 中设置处理程序

c# - 如何从 ServiceStack 中返回 Stream 的 Action 中获取异常的正常/自定义错误响应?

c# - AutoFac DbContext 问题 - 在创建模型时无法使用

unit-testing - 单元测试 ServiceStack REST Web 服务

c# - 在没有 typeNameHandling 的情况下将 Json 对象反序列化为多态 C# 对象

swift - 如何使用servicestack swift客户端的POST?

servicestack - ServiceStack 是否支持多源 CORS?

servicestack - 我可以将JSON/XML字符串作为POST请求发布到REST ServiceStack吗?

c# - ServiceStack 在无法反序列化请求时返回自定义响应

servicestack - 在 ServiceStack Ormlite 中加载具有特定 orderby 的引用