From 00be6206a96bf3dc2070d6dd8554a10d7d477297 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Wed, 15 Nov 2023 12:30:08 +0800 Subject: [PATCH] fix --- utils/ldap_lib/ldap.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 utils/ldap_lib/ldap.go diff --git a/utils/ldap_lib/ldap.go b/utils/ldap_lib/ldap.go new file mode 100644 index 00000000..93e9b184 --- /dev/null +++ b/utils/ldap_lib/ldap.go @@ -0,0 +1,37 @@ +package ldap_lib + +import ( + "github.com/go-ldap/ldap/v3" +) + +type LdapGroup struct { + conn *ldap.Conn +} + +func NewLdapGroup(conn *ldap.Conn) *LdapGroup { + return &LdapGroup{conn} +} + +// 更新分组信息 +func (l *LdapGroup) UpdateGroup(groupDN string, attr map[string][]string) error { + modify := ldap.NewModifyRequest(groupDN, nil) + for key, v := range attr { + modify.Replace(key, v) + } + return l.conn.Modify(modify) +} + +// 删除分组 +func (l *LdapGroup) DeleteGroup(groupDN string) error { + del := ldap.NewDelRequest(groupDN, nil) + return l.conn.Del(del) +} + +// 创建分组 +func (l *LdapGroup) CreateGroup(groupDN string, attr map[string][]string) error { + add := ldap.NewAddRequest(groupDN, nil) + for key, v := range attr { + add.Attribute(key, v) + } + return l.conn.Add(add) +}