Fix Users with + in the name (#1045)

Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
This commit is contained in:
Daniel Valdivia
2021-09-14 15:23:38 -07:00
committed by GitHub
parent 2077004bd3
commit 9f070d9ebb
2 changed files with 10 additions and 2 deletions

View File

@@ -168,7 +168,7 @@ const UserDetails = ({ classes, match }: IUserDetailsProps) => {
}
setLoading(true);
api
.invoke("GET", `/api/v1/user?name=${encodeURI(userName)}`)
.invoke("GET", `/api/v1/user?name=${encodeURIComponent(userName)}`)
.then((res) => {
setAddLoading(false);
const memberOf = res.memberOf || [];
@@ -204,7 +204,7 @@ const UserDetails = ({ classes, match }: IUserDetailsProps) => {
}
setAddLoading(true);
api
.invoke("PUT", `/api/v1/user?name=${encodeURI(userName)}`, {
.invoke("PUT", `/api/v1/user?name=${encodeURIComponent(userName)}`, {
status: isEnabled ? "enabled" : "disabled",
groups: selectedGroups,
})

View File

@@ -22,6 +22,8 @@ import (
"sort"
"strings"
"github.com/go-openapi/swag"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime/middleware"
"github.com/minio/console/models"
@@ -278,6 +280,12 @@ func getUserInfoResponse(session *models.Principal, params admin_api.GetUserInfo
user, err := getUserInfo(ctx, adminClient, params.Name)
if err != nil {
// User doesn't exist, return 404
if madmin.ToErrorResponse(err).Code == "XMinioAdminNoSuchUser" {
var errorCode int32 = 404
errorMessage := "User doesn't exist"
return nil, &models.Error{Code: errorCode, Message: swag.String(errorMessage), DetailedMessage: swag.String(err.Error())}
}
return nil, prepareError(err)
}