代码之家  ›  专栏  ›  技术社区  ›  s0dz

属于多个组织的用户的多个角色

  •  2
  • s0dz  · 技术社区  · 6 年前

    我正在开发一个web应用程序,其中一个用户属于多个组织。要使用的角色由用户当前查看web应用程序的组织决定。登录后,用户可以轻松地在其所属的不同组织之间切换。对于某些组织,用户可能是管理员,而只是其他组织的成员。

    在ServiceStack中,实现这一点的最佳方法是什么?利用 Dictionary<string, string> Meta 的属性 Authenticate 请求DTO?或创建自定义 AuthProvider 将覆盖 IsAuthorized 方法还是一种不同的技术?

    1 回复  |  直到 6 年前
        1
  •  2
  •   mythz    6 年前

    最简单的解决方案是分配自定义 org1.Admin ,则, org2.Member 角色或权限,这样您就可以使用ServiceStack的内置 [RequiresRole] 验证访问。

    定制的替代方案是创建 Custom UserSession 以及相应的类型化元数据集合 AuthUserSession 对象然后使用自定义 RequestFilterAttribute 检查UserSession是否具有适当的访问权限。