extract "build DN logic"
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Quentin 2023-09-15 13:59:48 +02:00
parent 1e75c21b65
commit 02e384f99e
Signed by: quentin
GPG Key ID: E9602264D639FF68
1 changed files with 13 additions and 4 deletions

17
main.go
View File

@ -198,6 +198,9 @@ func logRequest(handler http.Handler) http.Handler {
func checkLogin(w http.ResponseWriter, r *http.Request) *LoginStatus {
var login_info *LoginInfo
//@FIXME check authentication header
session, err := store.Get(r, SESSION_NAME)
if err == nil {
username, ok := session.Values["login_username"]
@ -364,6 +367,15 @@ type LoginFormData struct {
ErrorMessage string
}
func buildUserDN(username string) string {
user_dn := fmt.Sprintf("%s=%s,%s", config.UserNameAttr, username, config.UserBaseDN)
if strings.EqualFold(username, config.AdminAccount) {
user_dn = username
}
return user_dn
}
func handleLogin(w http.ResponseWriter, r *http.Request) *LoginInfo {
templateLogin := getTemplate("login.html")
@ -375,10 +387,7 @@ func handleLogin(w http.ResponseWriter, r *http.Request) *LoginInfo {
username := strings.Join(r.Form["username"], "")
password := strings.Join(r.Form["password"], "")
user_dn := fmt.Sprintf("%s=%s,%s", config.UserNameAttr, username, config.UserBaseDN)
if strings.EqualFold(username, config.AdminAccount) {
user_dn = username
}
user_dn := buildUserDN(username)
l := ldapOpen(w)
if l == nil {