using Abp.Application.Features; using Abp.Localization; using Abp.MultiTenancy; namespace Abp.Authorization { /// /// This context is used on method. /// public interface IPermissionDefinitionContext { /// /// Creates a new permission under this group. /// /// Unique name of the permission /// Display name of the permission /// A brief description for this permission /// Which side can use this permission /// Depended feature(s) of this permission /// New created permission Permission CreatePermission( string name, ILocalizableString displayName = null, ILocalizableString description = null, MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant, IFeatureDependency featureDependency = null ); /// /// Gets a permission with given name or null if can not find. /// /// Unique name of the permission /// Permission object or null Permission GetPermissionOrNull(string name); /// /// Remove permission with given name /// /// void RemovePermission(string name); } }