This is an automated email from the ASF dual-hosted git repository.

humingcheng pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git


The following commit(s) were added to refs/heads/dev by this push:
     new 8a969df4 update  account name validate rule  (#1496)
8a969df4 is described below

commit 8a969df46dd187b767c4599cc2aa5f420a4f5811
Author: Wanghb1 <[email protected]>
AuthorDate: Sat Jan 11 16:07:15 2025 +0800

    update  account name validate rule  (#1496)
    
    * fix nil reference
    
    * update account name validate rule
    
    * Update rbac_validator.go
---
 client/watch.go                                    | 6 ++++--
 server/service/validator/microservice_validator.go | 3 ++-
 server/service/validator/rbac_validator.go         | 7 ++++---
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/client/watch.go b/client/watch.go
index 18504cb3..f5e7034d 100644
--- a/client/watch.go
+++ b/client/watch.go
@@ -41,15 +41,17 @@ func (c *Client) Watch(ctx context.Context, domain, 
project, selfServiceID strin
                return pb.NewError(pb.ErrInternal, err.Error())
        }
 
+       var messageType int
+       var message []byte
        for {
-               messageType, message, err := conn.ReadMessage()
+               messageType, message, err = conn.ReadMessage()
                if err != nil {
                        log.Println(err)
                        break
                }
                if messageType == websocket.TextMessage {
                        data := &pb.WatchInstanceResponse{}
-                       err := json.Unmarshal(message, data)
+                       err = json.Unmarshal(message, data)
                        if err != nil {
                                log.Println(err)
                                break
diff --git a/server/service/validator/microservice_validator.go 
b/server/service/validator/microservice_validator.go
index 7dc6ce25..8f885f51 100644
--- a/server/service/validator/microservice_validator.go
+++ b/server/service/validator/microservice_validator.go
@@ -39,7 +39,8 @@ var (
 
 var (
        // 非map/slice的validator
-       nameRegex, _ = 
regexp.Compile(`^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$`)
+       nameRegex, _        = 
regexp.Compile(`^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$`)
+       accountNameRegex, _ = 
regexp.Compile(`^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9@_\-.]*[a-zA-Z0-9]$`)
        // find 支持alias,多个:
        serviceNameForFindRegex, _ = 
regexp.Compile(`^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.:]*[a-zA-Z0-9]$`)
        // version規則: x[.y[.z]]
diff --git a/server/service/validator/rbac_validator.go 
b/server/service/validator/rbac_validator.go
index acb18706..6c385eab 100644
--- a/server/service/validator/rbac_validator.go
+++ b/server/service/validator/rbac_validator.go
@@ -18,8 +18,9 @@
 package validator
 
 import (
-       "github.com/apache/servicecomb-service-center/pkg/validate"
        "github.com/go-chassis/cari/rbac"
+
+       "github.com/apache/servicecomb-service-center/pkg/validate"
 )
 
 var createAccountValidator = &validate.Validator{}
@@ -30,7 +31,7 @@ var changePWDValidator = &validate.Validator{}
 var accountLoginValidator = &validate.Validator{}
 
 func init() {
-       createAccountValidator.AddRule("Name", &validate.Rule{Min: 1, Max: 64, 
Regexp: nameRegex})
+       createAccountValidator.AddRule("Name", &validate.Rule{Min: 1, Max: 64, 
Regexp: accountNameRegex})
        createAccountValidator.AddRule("Roles", &validate.Rule{Min: 1, Max: 5, 
Regexp: nameRegex})
        createAccountValidator.AddRule("Password", &validate.Rule{Regexp: 
&validate.PasswordChecker{}})
        createAccountValidator.AddRule("Status", &validate.Rule{Regexp: 
accountStatusRegex})
@@ -43,7 +44,7 @@ func init() {
        createRoleValidator.AddRule("Name", &validate.Rule{Min: 1, Max: 64, 
Regexp: nameRegex})
 
        changePWDValidator.AddRule("Password", &validate.Rule{Regexp: 
&validate.PasswordChecker{}})
-       changePWDValidator.AddRule("Name", &validate.Rule{Regexp: nameRegex})
+       changePWDValidator.AddRule("Name", &validate.Rule{Regexp: 
accountNameRegex})
 
        accountLoginValidator.AddRule("TokenExpirationTime", 
&validate.Rule{Regexp: &validate.TokenExpirationTimeChecker{}})
 }

Reply via email to