diff options
-rw-r--r-- | admin.go | 11 | ||||
-rw-r--r-- | main.go | 16 |
2 files changed, 18 insertions, 9 deletions
@@ -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 + } + } } } @@ -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 + } + } } } |