func findUser() { users, err := rights.FindUser(pattern) if err != nil { fmt.Printf("FindUserError: %s\n", err) } var buffer bytes.Buffer buffer.WriteString("Find User:\n") buffer.WriteString(getUserLiterals(users...)) buffer.WriteString("\n") fmt.Println(buffer.String()) }
func GetUserListForAdmin(w http.ResponseWriter, r *http.Request) { hj, ok := w.(http.Hijacker) if !ok { errorMsg := "The Web Server does not support Hijacking! " http.Error(w, errorMsg, http.StatusInternalServerError) go_lib.LogErrorf(errorMsg) return } conn, bufrw, err := hj.Hijack() if err != nil { errorMsg := "Internal error!" http.Error(w, errorMsg, http.StatusInternalServerError) go_lib.LogErrorf(errorMsg+" Hijacking Error: %s\n", err) return } defer conn.Close() r.ParseForm() go_lib.LogInfoln(request.GetRequestInfo(r)) attrMap := request.GenerateBasicAttrMap(w, r) loginName := attrMap[request.LOGIN_NAME_KEY] groupName := attrMap[request.GROUP_NAME_KEY] parameterOutline := fmt.Sprintf("[loginName=%s, groupName=%s]", loginName, groupName) if groupName != rights.ADMIN_USER_GROUP_NAME { errorMsg := "Authentication failed!" http.Error(w, errorMsg, http.StatusForbidden) go_lib.LogErrorf(errorMsg+" [user list handler] %s \n", parameterOutline) return } var respBuffer bytes.Buffer users, err := rights.FindUser("*") if err != nil { go_lib.LogErrorf("FindUserError: %s\n", err) } else { b, err := json.Marshal(users) if err != nil { go_lib.LogErrorf("JsonMarshalError (source=%v): %s\n", users, err) } else { respBuffer.WriteString(string(b)) } } resp := respBuffer.String() done := pushResponse(bufrw, resp) if !done { go_lib.LogErrorf("Pushing user list '%s' is failing! %s \n", resp, parameterOutline) } }