aspnetboilerplate - Asp.Net BoilerPlate - PermissionManager.GetAllPermissions() 未获得新权限
问题描述
我从 BoilerPlate 的网站上用 angular 创建了一个默认解决方案。我需要创建一个新权限以分配给用户。所以我在我的授权提供者中添加了它:
public class PilotoConciliacaoAuthorizationProvider : AuthorizationProvider
{
public override void SetPermissions(IPermissionDefinitionContext context)
{
context.CreatePermission(PermissionNames.Pages_Users, L("Users"));
context.CreatePermission(PermissionNames.Pages_Users_Activation, L("UsersActivation"));
context.CreatePermission(PermissionNames.Pages_Roles, L("Roles"));
context.CreatePermission(PermissionNames.Pages_Tenants, L("Tenants"), multiTenancySides: MultiTenancySides.Host);
context.CreatePermission(PermissionNames.Pages_CadastrarPdv, L("TituloCadastrarPdv"), multiTenancySides: MultiTenancySides.Host);
}
private static ILocalizableString L(string name)
{
return new LocalizableString(name, PilotoConciliacaoConsts.LocalizationSourceName);
}
}
在这种情况下,它是 PermissionNames.Pages_CadastrarPdv。我已经创建了常量和可本地化的资源。
但是当我运行 GetAllPermissions 服务时,它只获得了其中的 3 个:
"result": {
"items": [
{
"name": "Pages.Roles",
"displayName": "Funções",
"description": null,
"id": 0
},
{
"name": "Pages.Users.Activation",
"displayName": "Users activation",
"description": null,
"id": 0
},
{
"name": "Pages.Users",
"displayName": "Usuários",
"description": null,
"id": 0
}
]
},
"targetUrl": null,
"success": true,
"error": null,
"unAuthorizedRequest": false,
"__abp": true
我错过了什么?
提前致谢。
解决方案
发生的情况是您仅为主机用户指定了此权限,因为我可以看到您已作为租户登录,因此您不会看到此权限也不会看到租户权限。
如果您需要激活 MultiTenancy 并且您需要对所有用户具有此权限,则您必须删除这部分权限 especification 并将其放置如下:
context.CreatePermission(PermissionNames.Pages_CadastrarPdv, L("TituloCadastrarPdv"));
如果您不需要使用 MultiTenancy,可以在以下位置禁用它:
YourProjectName.Core\YourProjectNameConsts.cs
在那里你会找到一个变量
public const bool MultiTenancyEnabled = true;
如果您不需要使用它,请将其更改为 false。
您可以在此处调用 ready 整个文档Authorization
:
推荐阅读
- html - 尝试通过变换移动图像: translateZ()
- ios - Flutter setState() 函数被调用但没有做任何事情
- docker - 如何解释 docker 容器的端口信息
- python - 使用 pytorch 训练 RNN 时出错:RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn
- java - 我在 android 中的应用程序有问题
- sql - 根据表达式选择具有 TOP 的行数
- kubernetes - 具有 CrashLoopBackOff 的指标服务器
- r - 在 R 中更改 ROC 上的刻度线
- reactjs - 更改状态时从本地存储中的数组中删除项目
- django - Heroku Django App + Azure PostgreSQL DB - 连接速度慢