IPermissionDefinitionContext.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Abp.Application.Features;
  2. using Abp.Localization;
  3. using Abp.MultiTenancy;
  4. namespace Abp.Authorization
  5. {
  6. /// <summary>
  7. /// This context is used on <see cref="AuthorizationProvider.SetPermissions"/> method.
  8. /// </summary>
  9. public interface IPermissionDefinitionContext
  10. {
  11. /// <summary>
  12. /// Creates a new permission under this group.
  13. /// </summary>
  14. /// <param name="name">Unique name of the permission</param>
  15. /// <param name="displayName">Display name of the permission</param>
  16. /// <param name="description">A brief description for this permission</param>
  17. /// <param name="multiTenancySides">Which side can use this permission</param>
  18. /// <param name="featureDependency">Depended feature(s) of this permission</param>
  19. /// <returns>New created permission</returns>
  20. Permission CreatePermission(
  21. string name,
  22. ILocalizableString displayName = null,
  23. ILocalizableString description = null,
  24. MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
  25. IFeatureDependency featureDependency = null
  26. );
  27. /// <summary>
  28. /// Gets a permission with given name or null if can not find.
  29. /// </summary>
  30. /// <param name="name">Unique name of the permission</param>
  31. /// <returns>Permission object or null</returns>
  32. Permission GetPermissionOrNull(string name);
  33. /// <summary>
  34. /// Remove permission with given name
  35. /// </summary>
  36. /// <param name="name"></param>
  37. void RemovePermission(string name);
  38. }
  39. }