PermissionSetting.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System.ComponentModel.DataAnnotations;
  2. using System.ComponentModel.DataAnnotations.Schema;
  3. using Abp.Domain.Entities;
  4. using Abp.Domain.Entities.Auditing;
  5. namespace VberZero.BaseSystem;
  6. /// <summary>
  7. /// 用于授予/拒绝角色或用户等的权限。
  8. /// </summary>
  9. [Table("Sys_Permissions")]
  10. public abstract class PermissionSetting : CreationAuditedEntity<long>, IMayHaveTenant
  11. {
  12. public const int MaxNameLength = 128;
  13. public const int MasterValueMaxLength = 100;
  14. public const int AccessValueMaxLength = 500;
  15. public virtual int? TenantId { get; set; }
  16. /// <summary>
  17. /// 权限的唯一名称
  18. /// </summary>
  19. [Required]
  20. [StringLength(MaxNameLength)]
  21. public virtual string Name { get; set; }
  22. public int? Master { get; set; }
  23. [StringLength(MasterValueMaxLength)]
  24. public virtual string MasterValue { get; set; }
  25. public int? Access { get; set; }
  26. [StringLength(AccessValueMaxLength)]
  27. public string AccessValue { get; set; }
  28. /// <summary>
  29. /// 是否授予此权限。
  30. /// 默认值:true
  31. /// </summary>
  32. public virtual bool IsGranted { get; set; }
  33. protected PermissionSetting()
  34. {
  35. IsGranted = true;
  36. }
  37. public class MasterDefined
  38. {
  39. public const int User = 1;
  40. public const int Role = 2;
  41. }
  42. }