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

时间:2018-03-28 19:47:07

标签: c# authentication authorization servicestack

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

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

1 个答案:

答案 0 :(得分:2)

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

定制的替代方法是为[RequiresRole]对象创建Custom UserSession和相应的类型化元数据集合。然后使用自定义RequestFilterAttribute检查UserSession是否具有相应的访问权限。