From ba613479c3acb1f7cc15796cff5d6c40ab79ac89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 15 Jun 2021 14:54:34 +0300 Subject: [PATCH] Permission Management Module document --- docs/en/Modules/Feature-Management.md | 2 +- docs/en/Modules/Permission-Management.md | 64 +++++++++++++++++- docs/en/images/permissions-module-dialog.png | Bin 0 -> 31723 bytes .../images/permissions-module-open-dialog.png | Bin 0 -> 25747 bytes 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 docs/en/images/permissions-module-dialog.png create mode 100644 docs/en/images/permissions-module-open-dialog.png diff --git a/docs/en/Modules/Feature-Management.md b/docs/en/Modules/Feature-Management.md index 9bbf344a01..471838e5cd 100644 --- a/docs/en/Modules/Feature-Management.md +++ b/docs/en/Modules/Feature-Management.md @@ -16,7 +16,7 @@ The source code of this module can be accessed [here](https://github.com/abpfram ### Feature Management Dialog -Feature management module provides a reusable dialog to manage features related to an object. For example, the [Tenant Management Module](Tenant-Management.md) uses it to manage permissions of tenants in the Tenant Management page. +Feature management module provides a reusable dialog to manage features related to an object. For example, the [Tenant Management Module](Tenant-Management.md) uses it to manage features of tenants in the Tenant Management page. ![features-module-opening](../images/features-module-opening.png) diff --git a/docs/en/Modules/Permission-Management.md b/docs/en/Modules/Permission-Management.md index ad48b60171..05426e9b4d 100644 --- a/docs/en/Modules/Permission-Management.md +++ b/docs/en/Modules/Permission-Management.md @@ -1,5 +1,65 @@ # Permission Management Module -This module implements the `IPermissionStore` to store and manage feature values in a database. See the [Authorization document](../Authorization.md) to understand the authorization and permission systems first. +This module implements the `IPermissionStore` to store and manage permissions values in a database. -TODO \ No newline at end of file +> This document covers only the permission management module which persists permission values to a database. See the [Authorization document](../Authorization.md) to understand the authorization and permission systems. + +## How to Install + +This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module. + +### The Source Code + +The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/permission-management). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it. + +## User Interface + +### Permission Management Dialog + +Permission management module provides a reusable dialog to manage permissions related to an object. For example, the [Identity Module](Identity.md) uses it to manage permissions of users and roles. The following image shows Identity Module's Role Management page: + +![permissions-module-open-dialog](../images/permissions-module-open-dialog.png) + +When you click *Actions* -> *Permissions* for a role, the permission management dialog is opened. An example screenshot from this dialog: + +![permissions-module-dialog](../images/permissions-module-dialog.png) + +In this dialog, you can grant permissions for the selected role. The tabs in the left side represents main permission groups and the right side contains the permissions defined in the selected group. + +## IPermissionManager + +`IPermissionManager` is the main service provided by this module. It is used to read and change the permission values. `IPermissionManager` is typically used by the *Feature Management Dialog*. However, you can inject it if you need to set a permission value. + +> If you just want to read/check permission values for the current user, use the `IAuthorizationService` or the `[Authorize]` attribute as explained in the [Authorization document](../Authorization.md). + +**Example: Grant permissions to roles and users using the `IPermissionManager` service** + +````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); + } +} +```` + +## See Also + +* [Authorization](../Authorization.md) \ No newline at end of file diff --git a/docs/en/images/permissions-module-dialog.png b/docs/en/images/permissions-module-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..6b190484a261a17c8738d0b0860be6aa2fca55b4 GIT binary patch literal 31723 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 literal 0 HcmV?d00001 diff --git a/docs/en/images/permissions-module-open-dialog.png b/docs/en/images/permissions-module-open-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..46631fe12614658e6ebc3904989877002c7b361e GIT binary patch literal 25747 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