Use util.GetId()

This commit is contained in:
Yang Luo 2023-05-19 14:26:32 +08:00
parent de73ff0e60
commit 79bd58e0e6
8 changed files with 11 additions and 14 deletions

View File

@ -15,13 +15,13 @@
package authz package authz
import ( import (
"fmt"
"strings" "strings"
"github.com/casbin/casbin/v2" "github.com/casbin/casbin/v2"
"github.com/casbin/casbin/v2/model" "github.com/casbin/casbin/v2/model"
"github.com/casdoor/casdoor/conf" "github.com/casdoor/casdoor/conf"
"github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/object"
"github.com/casdoor/casdoor/util"
xormadapter "github.com/casdoor/xorm-adapter/v3" xormadapter "github.com/casdoor/xorm-adapter/v3"
stringadapter "github.com/qiangmzsx/string-adapter/v2" 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(util.GetId(subOwner, subName))
user := object.GetUser(userId)
if user != nil && user.IsAdmin && (subOwner == objOwner || (objOwner == "admin")) { if user != nil && user.IsAdmin && (subOwner == objOwner || (objOwner == "admin")) {
return true return true
} }

View File

@ -84,7 +84,7 @@ func (c *ApiController) Signup() {
return 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()) msg := object.CheckUserSignup(application, organization, &authForm, c.GetAcceptLanguage())
if msg != "" { if msg != "" {
c.ResponseError(msg) c.ResponseError(msg)

View File

@ -335,7 +335,7 @@ func (c *ApiController) Login() {
return 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)) provider := object.GetProvider(util.GetId("admin", authForm.Provider))
providerItem := application.GetProviderItem(provider.Name) providerItem := application.GetProviderItem(provider.Name)
if !providerItem.IsProviderVisible() { if !providerItem.IsProviderVisible() {
@ -396,7 +396,7 @@ func (c *ApiController) Login() {
if authForm.Method == "signup" { if authForm.Method == "signup" {
user := &object.User{} user := &object.User{}
if provider.Category == "SAML" { 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" { } else if provider.Category == "OAuth" {
user = object.GetUserByField(application.Organization, provider.Type, userInfo.Id) user = object.GetUserByField(application.Organization, provider.Type, userInfo.Id)
} }
@ -440,7 +440,7 @@ func (c *ApiController) Login() {
} }
// Handle username conflicts // 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 { if tmpUser != nil {
uid, err := uuid.NewRandom() uid, err := uuid.NewRandom()
if err != nil { if err != nil {

View File

@ -98,7 +98,7 @@ func (c *ApiController) GetUser() {
owner = util.GetOwnerFromId(id) owner = util.GetOwnerFromId(id)
} }
organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", owner)) organization := object.GetOrganization(util.GetId("admin", owner))
if !organization.IsProfilePublic { if !organization.IsProfilePublic {
requestUserId := c.GetSessionUsername() requestUserId := c.GetSessionUsername()
hasPermission, err := object.CheckUserPermission(requestUserId, id, false, c.GetAcceptLanguage()) hasPermission, err := object.CheckUserPermission(requestUserId, id, false, c.GetAcceptLanguage())

View File

@ -318,7 +318,7 @@ func GetCaptchaProviderByApplication(applicationId, isCurrentProvider, lang stri
continue continue
} }
if provider.Provider.Category == "Captcha" { 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 return nil, nil

View File

@ -233,7 +233,7 @@ func generateJwtToken(application *Application, user *User, nonce string, scope
_, originBackend := getOriginFromHost(host) _, originBackend := getOriginFromHost(host)
name := util.GenerateId() name := util.GenerateId()
jti := fmt.Sprintf("%s/%s", application.Owner, name) jti := util.GetId(application.Owner, name)
claims := Claims{ claims := Claims{
User: user, User: user,

View File

@ -43,7 +43,7 @@ func AutoSigninFilter(ctx *context.Context) {
return 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)) application, _ := object.GetApplicationByUserId(fmt.Sprintf("app/%s", token.Application))
setSessionUser(ctx, userId) setSessionUser(ctx, userId)
setSessionOidc(ctx, token.Scope, application.ClientId) setSessionOidc(ctx, token.Scope, application.ClientId)

View File

@ -15,8 +15,6 @@
package routers package routers
import ( import (
"fmt"
"github.com/beego/beego/context" "github.com/beego/beego/context"
"github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/object"
"github.com/casdoor/casdoor/util" "github.com/casdoor/casdoor/util"
@ -50,7 +48,7 @@ func getUserByClientIdSecret(ctx *context.Context) string {
return "" return ""
} }
return fmt.Sprintf("%s/%s", application.Organization, application.Name) return util.GetId(application.Organization, application.Name)
} }
func RecordMessage(ctx *context.Context) { func RecordMessage(ctx *context.Context) {