我正在开发一个用户属于多个组织的Web应用程序。要使用的角色由用户当前正在查看Web应用程序的组织决定。登录后,用户可以轻松地在他们所属的不同组织之间切换。对于某些组织,用户可能是一个ADMIN,而在其他组织中只是一个成员。
在ServiceStack中,实现此目的的最佳方法是什么?利用Dictionary<string, string> Meta
请求DTO的Authenticate
属性是否有意义?或者创建一个覆盖AuthProvider
方法的自定义IsAuthorized
?还是一种不同的技术?
答案 0 :(得分:2)
最简单的解决方案是分配自定义3
,org1.Admin
角色或权限,这样您就可以使用ServiceStack的内置org2.Member
来验证访问权限。
定制的替代方法是为[RequiresRole]
对象创建Custom UserSession和相应的类型化元数据集合。然后使用自定义RequestFilterAttribute检查UserSession是否具有相应的访问权限。