1

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

AbpRoles 表有一个标题为“TenantId”(可为空)的列。

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

底线是:

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

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

User.IsInRole("Employee")

进入这个区块

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

问题仍然没有解决。

4

1 回答 1

1

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

于 2017-07-06T12:28:30.557 回答