diff --git a/admin.go b/admin.go index fa230bc..ccfbe31 100644 --- a/admin.go +++ b/admin.go @@ -19,9 +19,14 @@ func checkAdminLogin(w http.ResponseWriter, r *http.Request) *LoginStatus { } can_admin := (login.Info.DN == config.AdminAccount) - for _, group := range login.UserEntry.GetAttributeValues("memberof") { - if config.GroupCanAdmin != "" && group == config.GroupCanAdmin { - can_admin = true + fmt.Printf("%#v", login.UserEntry) + for _, attr := range login.UserEntry.Attributes { + if strings.EqualFold(attr.Name, "memberof") { + for _, group := range attr.Values { + if config.GroupCanAdmin != "" && group == config.GroupCanAdmin { + can_admin = true + } + } } } diff --git a/main.go b/main.go index d8848de..574ea21 100644 --- a/main.go +++ b/main.go @@ -259,12 +259,16 @@ func handleHome(w http.ResponseWriter, r *http.Request) { can_admin := (login.Info.DN == config.AdminAccount) can_invite := false - for _, group := range login.UserEntry.GetAttributeValues("memberof") { - if config.GroupCanInvite != "" && group == config.GroupCanInvite { - can_invite = true - } - if config.GroupCanAdmin != "" && group == config.GroupCanAdmin { - can_admin = true + for _, attr := range login.UserEntry.Attributes { + if strings.EqualFold(attr.Name, "memberof") { + for _, group := range attr.Values { + if config.GroupCanInvite != "" && group == config.GroupCanInvite { + can_invite = true + } + if config.GroupCanAdmin != "" && group == config.GroupCanAdmin { + can_admin = true + } + } } }