UserLogin.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System.ComponentModel.DataAnnotations;
  2. using System.ComponentModel.DataAnnotations.Schema;
  3. using Abp.Domain.Entities;
  4. namespace IwbZero.Authorization.Base.Users
  5. {
  6. /// <summary>
  7. /// 用于存储外部登录服务的用户登录名。
  8. /// </summary>
  9. [Table("Sys_UserLogins")]
  10. public class UserLogin : Entity<long>, IMayHaveTenant
  11. {
  12. /// <summary>
  13. /// Maximum length of <see cref="LoginProvider"/> property.
  14. /// </summary>
  15. public const int MaxLoginProviderLength = 128;
  16. /// <summary>
  17. /// Maximum length of <see cref="ProviderKey"/> property.
  18. /// </summary>
  19. public const int MaxProviderKeyLength = 256;
  20. public virtual int? TenantId { get; set; }
  21. /// <summary>
  22. /// Id of the User.
  23. /// </summary>
  24. public virtual long UserId { get; set; }
  25. /// <summary>
  26. /// Login Provider.
  27. /// </summary>
  28. [Required]
  29. [StringLength(MaxLoginProviderLength)]
  30. public virtual string LoginProvider { get; set; }
  31. /// <summary>
  32. /// Key in the <see cref="LoginProvider"/>.
  33. /// </summary>
  34. [Required]
  35. [StringLength(MaxProviderKeyLength)]
  36. public virtual string ProviderKey { get; set; }
  37. public UserLogin()
  38. {
  39. }
  40. public UserLogin(int? tenantId, long userId, string loginProvider, string providerKey)
  41. {
  42. TenantId = tenantId;
  43. UserId = userId;
  44. LoginProvider = loginProvider;
  45. ProviderKey = providerKey;
  46. }
  47. }
  48. }