2

我正在实现我自己的RequiredRole名为 的属性RequiredAnyRole,由此我传入一个列表,但用户只需处于其中一个角色中。我已经实现了我自己的方法HasAnyRole,它只是基于.Any()而不是.All().

然后我重写了Execute使用我的方法而不是HasAllRoles. 问题是我不确定方法:AssertRequiredRoles在做什么?好像没有叫?

我是否应该覆盖它以使用.Any().All()不是?这是原始代码:

https://github.com/ServiceStack/ServiceStack/blob/82241fc96e187d12f9db2556aea37cf327813adc/src/ServiceStack.ServiceInterface/RequiredRoleAttribute.cs

4

1 回答 1

1

AssertRequiredRoles 是一种静态辅助方法,可以由其他插件(如RequestLogsService )使用,以确保仅向具有所需角色的用户授予访问权限。用作普通属性过滤器时不会调用它。

一旦覆盖 Execute,您就可以完全控制要执行的内容,因此您只需要覆盖您需要的内容。

于 2013-03-05T15:33:00.880 回答