From e94e63d6d430b7227a3b493430a96338a18d76c8 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Fri, 17 Apr 2020 22:41:43 +0800 Subject: [PATCH] fix: allow any character in project/domain name, giveup displayname --- pkg/keystone/driver/cas/cas.go | 5 ++--- pkg/keystone/models/projects.go | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkg/keystone/driver/cas/cas.go b/pkg/keystone/driver/cas/cas.go index 45f0b6fa41..f6d0a702de 100644 --- a/pkg/keystone/driver/cas/cas.go +++ b/pkg/keystone/driver/cas/cas.go @@ -162,9 +162,8 @@ func (self *SCASDriver) userTryJoinProject(ctx context.Context, usr *models.SUse domainId = api.DEFAULT_DOMAIN_ID } if len(self.casConfig.CasProjectAttribute) > 0 { - casProjName := fetchAttribute(resp, self.casConfig.CasProjectAttribute) - if len(casProjName) > 0 { - projName := models.NormalizeProjectName(casProjName) + projName := fetchAttribute(resp, self.casConfig.CasProjectAttribute) + if len(projName) > 0 { targetProject, err = models.ProjectManager.FetchProject("", projName, domainId, "") if err != nil { log.Errorf("fetch project %s fail %s", projName, err) diff --git a/pkg/keystone/models/projects.go b/pkg/keystone/models/projects.go index 8f44b1f7c9..9aa4c6c42f 100644 --- a/pkg/keystone/models/projects.go +++ b/pkg/keystone/models/projects.go @@ -76,7 +76,7 @@ type SProject struct { ParentId string `width:"64" charset:"ascii" list:"domain" create:"domain_optional"` - IsDomain tristate.TriState `default:"false" nullable:"false" create:"domain_optional"` + IsDomain tristate.TriState `default:"false" nullable:"false"` } func (manager *SProjectManager) GetContextManagers() [][]db.IModelManager { @@ -530,13 +530,12 @@ func (project *SProject) PerformLeave( return nil, nil } -func (manager *SProjectManager) NewProject(ctx context.Context, name string, desc string, domainId string) (*SProject, error) { +func (manager *SProjectManager) NewProject(ctx context.Context, projectName string, desc string, domainId string) (*SProject, error) { lockman.LockClass(ctx, manager, domainId) defer lockman.ReleaseClass(ctx, manager, domainId) project := &SProject{} project.SetModelManager(ProjectManager, project) - projectName := NormalizeProjectName(name) ownerId := &db.SOwnerId{} if manager.NamespaceScope() == rbacutils.ScopeDomain { ownerId.DomainId = domainId