| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using Abp.Application.Features;
- using Abp.Collections.Extensions;
- using Abp.Localization;
- using Abp.MultiTenancy;
- namespace Abp.Authorization
- {
- internal abstract class PermissionDefinitionContextBase : IPermissionDefinitionContext
- {
- protected readonly PermissionDictionary Permissions;
- protected PermissionDefinitionContextBase()
- {
- Permissions = new PermissionDictionary();
- }
- public Permission CreatePermission(
- string name,
- ILocalizableString displayName = null,
- ILocalizableString description = null,
- MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
- IFeatureDependency featureDependency = null)
- {
- if (Permissions.ContainsKey(name))
- {
- throw new AbpException("There is already a permission with name: " + name);
- }
- var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);
- Permissions[permission.Name] = permission;
- return permission;
- }
- public Permission GetPermissionOrNull(string name)
- {
- return Permissions.GetOrDefault(name);
- }
- public void RemovePermission(string name)
- {
- Permissions.Remove(name);
- }
- }
- }
|