我正在实现我自己的RequiredRole
属性RequiredAnyRole
,我传入一个列表,但用户只需要处于其中一个角色。我已经实现了我自己的名为HasAnyRole
的方法,该方法只根据.Any()
而不是.All()
进行查询。
然后我覆盖了Execute
方法以使用我的方法而不是HasAllRoles
。问题是我不确定方法:AssertRequiredRoles
正在做什么?似乎没有被称为?
我是否应该覆盖它以使用.Any()
而不是.All()
?这是原始代码:
答案 0 :(得分:1)
AssertRequiredRoles是一种静态助手方法,可供RequestLogsService等其他插件使用,以确保只有具有所需角色的用户才能访问。用作普通属性过滤器时不会调用它。
一旦你覆盖执行,你就可以完全控制执行的内容,所以你只需要覆盖你需要的东西。