model

package
v0.0.0-...-65d8ea5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Attrs ldap用户属性
	Attrs = []string{
		"employeeNumber",
		"sAMAccountName",
		"displayName",
		"distinguishedName",
		"userAccountControl",
		"accountExpires",
		"pwdLastSet",
		"whenCreated",
		"whenChanged",
		"sn",
		"name",
		"givenName",
		"mail",
		"mobile",
		"company",
		"department",
		"title",
		"cn",
	}
)

Functions

func EntryToLdapUser

func EntryToLdapUser(entry *ldap.Entry) (*uuappb.UserAttr, error)

EntryToLdapUser 将 ldap.Entry 类型转换为 uuappb.UserAttr

func InitLdapPool

func InitLdapPool(c config.LdapConf) (ldapPool ldappool.Pool)

InitLdapPool 初始化ldap连接池

func InitMysqlClient

func InitMysqlClient(c config.MysqlConf) (engine *gorm.DB)

InitMysqlClient 初始化mysql客户端

Types

type LdapUserAttrModel

type LdapUserAttrModel interface {
	// GetUser 根据cn查询用户 注意: cn查询不到则会返回管理员用户
	GetUser(eid, name string) (result *ldap.Entry, err error)
	// GetUserFuzzy 根据姓名模糊查询
	GetUserFuzzy(name string) (results []*ldap.Entry, err error)
	// BatchGetUser 多条件查询用户 返回符合搜索条件的用户列表
	BatchGetUser(user *UserAttr) (result []*ldap.Entry, err error)
	// AddUser 新增用户
	AddUser(user *UserAttr) (pwd string, err error)
	// RetrievePwd 密码找回
	RetrievePwd(eid, name string) (sam, newPwd string, err error)
	// ModifyPwd 密码修改
	ModifyPwd(eid, name, newPwd string) (err error)
	// Renewal 用户续期
	Renewal(eid, name string, days int64) (entryLatest *ldap.Entry, err error)
	// DeleteUser 用户删除
	DeleteUser(eid, name string) (sam string, err error)
	// DisableUser 用户禁用
	DisableUser(eid, name string) (err error)
}

func NewLdapUserAttrModel

func NewLdapUserAttrModel(c config.LdapConf) LdapUserAttrModel

type UserAttr

type UserAttr struct {
	Num         string `json:"employeeNumber" gorm:"type:varchar(100);unique_index"`    // 工号
	Sam         string `json:"sAMAccountName" gorm:"type:varchar(128);unique_index"`    // SAM账号
	DisplayName string `json:"displayName" gorm:"type:varchar(32)"`                     // 真实姓名
	Dn          string `json:"distinguishedName" gorm:"type:varchar(100);unique_index"` // dn
	AccountCtl  string `json:"userAccountControl" gorm:"type:varchar(100)"`             // 用户账户控制
	Expire      string `json:"accountExpires" gorm:"type:varchar(30)"`                  // 账户过期时间
	PwdLastSet  string `json:"pwdLastSet" gorm:"type:varchar(100)"`                     // 用户下次登录必须修改密码
	WhenCreated string `json:"whenCreated" gorm:"type:varchar(100)"`                    // 创建时间
	WhenChanged string `json:"whenChanged" gorm:"type:varchar(100)"`                    // 修改时间
	Name        string `json:"name" gorm:"type:varchar(100)"`                           // 姓名
	Sn          string `json:"sn" gorm:"type:varchar(100)"`                             // 姓
	GivenName   string `json:"givenName" gorm:"type:varchar(100)"`                      // 名
	Mail        string `json:"mail" gorm:"type:varchar(128);unique_index"`              // 邮箱
	Mobile      string `json:"mobile" gorm:"type:varchar(32);unique_index"`             // 移动电话
	Company     string `json:"company" gorm:"type:varchar(128)"`                        // 公司
	Depart      string `json:"department" gorm:"type:varchar(128)"`                     // 部门
	Title       string `json:"title" gorm:"type:varchar(100)"`                          // 职务
}

UserAttr ldap用户属性字段

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL