AspNetBoilerplate

时间:2016-12-26 19:11:31

标签: c# asp.net asp.net-mvc aspnetboilerplate

我有一组自定义角色,应该在多租户应用中使用。

AbpRoles表有一个标题为" TenantId" (可为空的)。

问题是,如果我将此字段保留为空值,则无法将每个特定租户的用户识别为与某个角色相关。但是如果一个AbpRole记录具有租户id值 - 一切都很好。

底线是:

我的代码必须为每个租户创建相同的角色集,所以我只是想知道是否可以为所有租户设置一套共同的角色。

如果AbpRole记录的TenantId值为null,并且我将检查用户是否属于角色的代码包装

User.IsInRole("Employee")

进入这个区块

using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant))

问题仍未解决。

2 个答案:

答案 0 :(得分:1)

对不起,迟到了。对于寻找这个问题答案的人; 应为每个租户创建角色。如果您使用单租户,则您使用默认租户的ID。因此,您无法分享角色。如果你坚持分享角色btw租户,你必须在每次对角色进行操作时禁用MayHaveTenant。

答案 1 :(得分:0)

我有完全相同的"问题"因为我想为所有租户分享一些角色和权限,并启用多租户。我的意思是我不想这样做:权限x租户数量x(用户)...它重复了这么多相同的权限而且这是一个废话。