ldap.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package models
  2. import "time"
  3. // LdapServer LDAP 服务配置表
  4. type LdapServer struct {
  5. Id int `orm:"pk;auto" json:"id"`
  6. // 用户账号,唯一标识, Uid
  7. Uid string `orm:"size(100)" json:"uid"`
  8. Name string `orm:"size(255)" json:"name"`
  9. Key string `orm:"unique" json:"key"`
  10. Url string `json:"url"`
  11. Active bool `json:"active"` // 是否激活可用
  12. UserName string `json:"userName"` // 直接存储JSON数据,数组格式,多个
  13. Password string `json:"password"`
  14. BaseDN string `orm:"size(255);column(base_dn)" json:"baseDN"`
  15. Filter string `orm:"size(255)" json:"filter"`
  16. Remark string `json:"remark"`
  17. OrganizeClass string `orm:"size(255)" json:"organizeClass"` // 组织的objectClass
  18. }
  19. // LdapUser User 用户表
  20. // https://blog.csdn.net/wzjking0929/article/details/81153206
  21. type LdapUser struct {
  22. Id int `orm:"pk;auto" json:"id"`
  23. Uid string `json:"uid"`
  24. // 用户账号,唯一标识, Uid
  25. Account string `orm:"unique" json:"account"` // 即DN,eg. cn=test,dc=xxxx,dc=cn
  26. UserName string `json:"userName"`
  27. Mail string `json:"mail"`
  28. DN string `orm:"column(db)" json:"dn"`
  29. Attributes string `orm:"null;type(text)" json:"attributes"` // 直接存储JSON数据,数组格式,多个
  30. SignType string `json:"signType"` // 密码加密方式
  31. Password string `json:"password"`
  32. Remark string `json:"remark"`
  33. ServerKey string `json:"serverKey"`
  34. LastSyncDate time.Time `orm:"null;type(datetime)" json:"lastSyncDate"` // 最后一次同步的时间
  35. Organize string `orm:"default('');type(text)" json:"organize"`
  36. }
  37. type LdapOrganize struct {
  38. Id int `orm:"pk;auto" json:"id"`
  39. ServerKey string `orm:"size(255)" json:"serverKey"`
  40. DN string `orm:"unique;column(dn)" json:"dn"`
  41. ObjectClass string `orm:"size(255)" json:"objectClass"`
  42. Name string `orm:"size(255)" json:"ou"`
  43. }