From 79bd58e0e6a1db086ddc58104446511e13c75608 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Fri, 19 May 2023 14:26:32 +0800 Subject: [PATCH] Use util.GetId() --- authz/authz.go | 5 ++--- controllers/account.go | 2 +- controllers/auth.go | 6 +++--- controllers/user.go | 2 +- object/provider.go | 2 +- object/token_jwt.go | 2 +- routers/auto_signin_filter.go | 2 +- routers/record.go | 4 +--- 8 files changed, 11 insertions(+), 14 deletions(-) diff --git a/authz/authz.go b/authz/authz.go index f44f0267..95995670 100644 --- a/authz/authz.go +++ b/authz/authz.go @@ -15,13 +15,13 @@ package authz import ( - "fmt" "strings" "github.com/casbin/casbin/v2" "github.com/casbin/casbin/v2/model" "github.com/casdoor/casdoor/conf" "github.com/casdoor/casdoor/object" + "github.com/casdoor/casdoor/util" xormadapter "github.com/casdoor/xorm-adapter/v3" stringadapter "github.com/qiangmzsx/string-adapter/v2" ) @@ -150,8 +150,7 @@ func IsAllowed(subOwner string, subName string, method string, urlPath string, o } } - userId := fmt.Sprintf("%s/%s", subOwner, subName) - user := object.GetUser(userId) + user := object.GetUser(util.GetId(subOwner, subName)) if user != nil && user.IsAdmin && (subOwner == objOwner || (objOwner == "admin")) { return true } diff --git a/controllers/account.go b/controllers/account.go index 03910431..152fc93f 100644 --- a/controllers/account.go +++ b/controllers/account.go @@ -84,7 +84,7 @@ func (c *ApiController) Signup() { return } - organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", authForm.Organization)) + organization := object.GetOrganization(util.GetId("admin", authForm.Organization)) msg := object.CheckUserSignup(application, organization, &authForm, c.GetAcceptLanguage()) if msg != "" { c.ResponseError(msg) diff --git a/controllers/auth.go b/controllers/auth.go index 29de5ad2..a8f202bc 100644 --- a/controllers/auth.go +++ b/controllers/auth.go @@ -335,7 +335,7 @@ func (c *ApiController) Login() { return } - organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", application.Organization)) + organization := object.GetOrganization(util.GetId("admin", application.Organization)) provider := object.GetProvider(util.GetId("admin", authForm.Provider)) providerItem := application.GetProviderItem(provider.Name) if !providerItem.IsProviderVisible() { @@ -396,7 +396,7 @@ func (c *ApiController) Login() { if authForm.Method == "signup" { user := &object.User{} if provider.Category == "SAML" { - user = object.GetUser(fmt.Sprintf("%s/%s", application.Organization, userInfo.Id)) + user = object.GetUser(util.GetId(application.Organization, userInfo.Id)) } else if provider.Category == "OAuth" { user = object.GetUserByField(application.Organization, provider.Type, userInfo.Id) } @@ -440,7 +440,7 @@ func (c *ApiController) Login() { } // Handle username conflicts - tmpUser := object.GetUser(fmt.Sprintf("%s/%s", application.Organization, userInfo.Username)) + tmpUser := object.GetUser(util.GetId(application.Organization, userInfo.Username)) if tmpUser != nil { uid, err := uuid.NewRandom() if err != nil { diff --git a/controllers/user.go b/controllers/user.go index ac3bad88..32a722d5 100644 --- a/controllers/user.go +++ b/controllers/user.go @@ -98,7 +98,7 @@ func (c *ApiController) GetUser() { owner = util.GetOwnerFromId(id) } - organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", owner)) + organization := object.GetOrganization(util.GetId("admin", owner)) if !organization.IsProfilePublic { requestUserId := c.GetSessionUsername() hasPermission, err := object.CheckUserPermission(requestUserId, id, false, c.GetAcceptLanguage()) diff --git a/object/provider.go b/object/provider.go index b3d65504..9382687d 100644 --- a/object/provider.go +++ b/object/provider.go @@ -318,7 +318,7 @@ func GetCaptchaProviderByApplication(applicationId, isCurrentProvider, lang stri continue } if provider.Provider.Category == "Captcha" { - return GetCaptchaProviderByOwnerName(fmt.Sprintf("%s/%s", provider.Provider.Owner, provider.Provider.Name), lang) + return GetCaptchaProviderByOwnerName(util.GetId(provider.Provider.Owner, provider.Provider.Name), lang) } } return nil, nil diff --git a/object/token_jwt.go b/object/token_jwt.go index 8e351843..31a0dd7c 100644 --- a/object/token_jwt.go +++ b/object/token_jwt.go @@ -233,7 +233,7 @@ func generateJwtToken(application *Application, user *User, nonce string, scope _, originBackend := getOriginFromHost(host) name := util.GenerateId() - jti := fmt.Sprintf("%s/%s", application.Owner, name) + jti := util.GetId(application.Owner, name) claims := Claims{ User: user, diff --git a/routers/auto_signin_filter.go b/routers/auto_signin_filter.go index 0423b0dd..2ce85b82 100644 --- a/routers/auto_signin_filter.go +++ b/routers/auto_signin_filter.go @@ -43,7 +43,7 @@ func AutoSigninFilter(ctx *context.Context) { return } - userId := fmt.Sprintf("%s/%s", token.Organization, token.User) + userId := util.GetId(token.Organization, token.User) application, _ := object.GetApplicationByUserId(fmt.Sprintf("app/%s", token.Application)) setSessionUser(ctx, userId) setSessionOidc(ctx, token.Scope, application.ClientId) diff --git a/routers/record.go b/routers/record.go index 0f7fadea..203e1146 100644 --- a/routers/record.go +++ b/routers/record.go @@ -15,8 +15,6 @@ package routers import ( - "fmt" - "github.com/beego/beego/context" "github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/util" @@ -50,7 +48,7 @@ func getUserByClientIdSecret(ctx *context.Context) string { return "" } - return fmt.Sprintf("%s/%s", application.Organization, application.Name) + return util.GetId(application.Organization, application.Name) } func RecordMessage(ctx *context.Context) {