ValidateHasRole 与 RequireRole 属性
ValidateHasRole vs RequireRole attributes
[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]
由 ServiceStack.dll
中的 RequiredRoleAttribute.cs 请求过滤器属性实现。
您的 ServiceModel project containing your API DTOs should not have any concrete implementation assemblies like ServiceStack.dll
so if you want to annotate your Request DTOs with Authentication attributes you should use the declarative fluent validation [Vaidate*]
而不是存在于 impl-free ServiceStack.Interfaces.dll
中 - 即您的服务模型 (DTO) 应该引用的唯一 ServiceStack .dll。
[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]
由 ServiceStack.dll
中的 RequiredRoleAttribute.cs 请求过滤器属性实现。
您的 ServiceModel project containing your API DTOs should not have any concrete implementation assemblies like ServiceStack.dll
so if you want to annotate your Request DTOs with Authentication attributes you should use the declarative fluent validation [Vaidate*]
而不是存在于 impl-free ServiceStack.Interfaces.dll
中 - 即您的服务模型 (DTO) 应该引用的唯一 ServiceStack .dll。