From 3e5e406ef9c03d68324e7ab9fc2dcf05ddd6cd0f Mon Sep 17 00:00:00 2001 From: Afresh Date: Wed, 19 Jan 2022 22:33:23 +0800 Subject: [PATCH] Update Permission-Management.md in zh-Hans and some others. --- docs/zh-Hans/Modules/Permission-Management.md | 108 +++++++++++++++++- docs/zh-Hans/Modules/Tenant-Management.md | 2 +- docs/zh-Hans/Modules/Users.md | 1 - docs/zh-Hans/docs-nav.json | 4 - .../images/permissions-module-dialog.png | Bin 0 -> 33789 bytes .../images/permissions-module-open-dialog.png | Bin 0 -> 34629 bytes 6 files changed, 108 insertions(+), 7 deletions(-) delete mode 100644 docs/zh-Hans/Modules/Users.md create mode 100644 docs/zh-Hans/images/permissions-module-dialog.png create mode 100644 docs/zh-Hans/images/permissions-module-open-dialog.png diff --git a/docs/zh-Hans/Modules/Permission-Management.md b/docs/zh-Hans/Modules/Permission-Management.md index ac8a9a55a2..e998e76dd7 100644 --- a/docs/zh-Hans/Modules/Permission-Management.md +++ b/docs/zh-Hans/Modules/Permission-Management.md @@ -1,3 +1,109 @@ # 权限管理模块 -TODO \ No newline at end of file +此模块实现了 `IPermissionStore` 接口, 并在数据库中管理权限值. + +> 此文档仅介绍了将权限值持续保存到数据库的权限管理模块. 请参阅 [授权文档](../Authorization.md) 来了解授权和权限系统. + +## 如何安装 + +当你使用 ABP 框架 [创建一个新的解决方案](https://abp.io/get-started) 时, 此模块将被预安装(作为 NuGet/NPM 包). 你可以继续用其作为包并轻松地获取更新, 也可以将其源代码包含在解决方案中 (请参阅 `get-source` [CLI](../CLI.md) 命令) 以开发自定义模块. + +### 源代码 + +可以 [在此处](https://github.com/abpframework/abp/tree/dev/modules/permission-management) 访问源代码。源代码使用 [MIT](https://choosealicense.com/licenses/mit/) 许可, 所以你可以免费使用和自定义它. + +## 用户界面 + +### 权限管理对话框 + +权限管理模块提供了一个可重用的对话框来管理与对象相关的权限. 例如: [身份模块](Identity.md) 用它去管理用户和角色的权限. 下图展示了身份模块的角色管理页面: + +![permissions-module-open-dialog](../images/permissions-module-open-dialog.png) + +当你点击角色的 *操作* -> *权限* 时, 将打开权限管理对话框. 下面是此对话框的一个示例截图: + +![permissions-module-dialog](../images/permissions-module-dialog.png) + +在对话框中, 你可以为所选角色授予权限. 左侧的选项卡表示主要权限组, 右侧包括了所选权限组中定义的权限. + +## IPermissionManager + +`IPermissionManager` 是此模块提供的主要服务. 它常用来读取和更改权限值. `IPermissionManager` 通常被 *权限管理对话框* 使用. 但如果需要设置权限值, 你也可以注入它. + +> 如果你只是想要读取或检查当前用户的权限值, 请如 [授权文档](../Authorization.md) 中所述那样使用 `IAuthorizationService` 或 `[Authorize]` 特性. + +**示例: 使用 `IPermissionManager` 服务为角色和用户授权** + +````csharp +public class MyService : ITransientDependency +{ + private readonly IPermissionManager _permissionManager; + + public MyService(IPermissionManager permissionManager) + { + _permissionManager = permissionManager; + } + + public async Task GrantRolePermissionDemoAsync( + string roleName, string permission) + { + await _permissionManager + .SetForRoleAsync(roleName, permission, true); + } + + public async Task GrantUserPermissionDemoAsync( + Guid userId, string roleName, string permission) + { + await _permissionManager + .SetForUserAsync(userId, permission, true); + } +} +```` + +## 权限管理提供程序 + +权限管理模块是可扩展的, 就像 [权限系统](../Authorization.md) 一样. 你可以通过定义权限管理提供程序来扩展它. + +[身份模块](Identity.md) 定义了如下权限管理提供程序. + +* `UserPermissionManagementProvider`: 管理用户基础权限. +* `RolePermissionManagementProvider`: 管理角色基础权限. + +`IPermissionManager` 使用这些提供程序获取或设置权限. 你可以通过实现 `IPermissionManagementProvider` 或从 `PermissionManagementProvider` 注入基类定义你自己的提供程序. + +**示例:** + +````csharp +public class CustomPermissionManagementProvider : PermissionManagementProvider +{ + public override string Name => "Custom"; + + public CustomPermissionManagementProvider( + IPermissionGrantRepository permissionGrantRepository, + IGuidGenerator guidGenerator, + ICurrentTenant currentTenant) + : base( + permissionGrantRepository, + guidGenerator, + currentTenant) + { + } +} +```` + +`PermissionManagementProvider` 基类 (使用 `IPermissionGrantRepository`) 为你做了默认的实现. 你可以按需重写基础方法. 在这个自定义的示例中, 每个提供程序必须有一个唯一的名称 (请保持简短, 因为每个权限值记录都会被保存到数据库中). + +创建提供程序类后, 你应该用 `PermissionManagementOptions` [选项类](../Options.md) 注册它: + +````csharp +Configure(options => +{ + options.ManagementProviders.Add(); +}); +```` + +提供程序的顺序很重要. 提供程序按相反的顺序被执行. 这意味着在此示例中 `CustomPermissionManagementProvider` 是第一个被执行的. 你可以在 `Providers` 列表的任意位置插入你的提供程序. + +## 另请参见 + +* [授权](../Authorization.md) \ No newline at end of file diff --git a/docs/zh-Hans/Modules/Tenant-Management.md b/docs/zh-Hans/Modules/Tenant-Management.md index f8b0d60aa7..3c3ebd7f01 100644 --- a/docs/zh-Hans/Modules/Tenant-Management.md +++ b/docs/zh-Hans/Modules/Tenant-Management.md @@ -12,7 +12,7 @@ ## 如何安装 -当你使用 ABP 框架 [创建一个新的解决方案](https://abp.io/get-started) 时, 此模块将被预安装(作为 NuGet/NPM 包). 你可以继续用其作为包并轻松地获取更新, 也可以将其源代码包含在解决方案中(请参阅 `get-source` [CLI](../CLI.md))以开发自定义模块. +当你使用 ABP 框架 [创建一个新的解决方案](https://abp.io/get-started) 时, 此模块将被预安装(作为 NuGet/NPM 包). 你可以继续用其作为包并轻松地获取更新, 也可以将其源代码包含在解决方案中 (请参阅 `get-source` [CLI](../CLI.md)) 以开发自定义模块. ### 源代码 diff --git a/docs/zh-Hans/Modules/Users.md b/docs/zh-Hans/Modules/Users.md deleted file mode 100644 index cb82a640d5..0000000000 --- a/docs/zh-Hans/Modules/Users.md +++ /dev/null @@ -1 +0,0 @@ -TODO... \ No newline at end of file diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index f63354c194..0c3cd4f2a6 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -722,10 +722,6 @@ "text": "租户管理", "path": "Modules/Tenant-Management.md" }, - { - "text": "用户", - "path": "Modules/Users.md" - }, { "text": "虚拟文件浏览器", "path": "Modules/Virtual-File-Explorer.md" diff --git a/docs/zh-Hans/images/permissions-module-dialog.png b/docs/zh-Hans/images/permissions-module-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..5af4cbef430316ff41a5cfcfdd3b73173d3b2cc3 GIT binary patch literal 33789 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 XVJoULF~QxK6MZDFB3CA38uY&aA7r?j literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/permissions-module-open-dialog.png b/docs/zh-Hans/images/permissions-module-open-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..06821d8c5307aaecf8f46ad20cb9ae420bddf04f GIT binary patch literal 34629 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