我有一组自定义角色,应该在多租户应用中使用。
AbpRoles表有一个标题为" TenantId" (可为空的)。
问题是,如果我将此字段保留为空值,则无法将每个特定租户的用户识别为与某个角色相关。但是如果一个AbpRole记录具有租户id值 - 一切都很好。
底线是:
我的代码必须为每个租户创建相同的角色集,所以我只是想知道是否可以为所有租户设置一套共同的角色。
如果AbpRole记录的TenantId值为null,并且我将检查用户是否属于角色的代码包装
User.IsInRole("Employee")
进入这个区块
using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant))
问题仍未解决。
答案 0 :(得分:1)
对不起,迟到了。对于寻找这个问题答案的人; 应为每个租户创建角色。如果您使用单租户,则您使用默认租户的ID。因此,您无法分享角色。如果你坚持分享角色btw租户,你必须在每次对角色进行操作时禁用MayHaveTenant。
答案 1 :(得分:0)
我有完全相同的"问题"因为我想为所有租户分享一些角色和权限,并启用多租户。我的意思是我不想这样做:权限x租户数量x(用户)...它重复了这么多相同的权限而且这是一个废话。