mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	[SSH认证]记录创建的管理员ID
This commit is contained in:
		@@ -73,8 +73,9 @@ func (this *NodeGrantDAO) FindNodeGrantName(id uint32) (string, error) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 创建认证信息
 | 
					// 创建认证信息
 | 
				
			||||||
func (this *NodeGrantDAO) CreateGrant(name string, method string, username string, password string, privateKey string, description string, nodeId int64) (grantId int64, err error) {
 | 
					func (this *NodeGrantDAO) CreateGrant(adminId int64, name string, method string, username string, password string, privateKey string, description string, nodeId int64) (grantId int64, err error) {
 | 
				
			||||||
	op := NewNodeGrantOperator()
 | 
						op := NewNodeGrantOperator()
 | 
				
			||||||
 | 
						op.AdminId = adminId
 | 
				
			||||||
	op.Name = name
 | 
						op.Name = name
 | 
				
			||||||
	op.Method = method
 | 
						op.Method = method
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ package models
 | 
				
			|||||||
// 节点授权
 | 
					// 节点授权
 | 
				
			||||||
type NodeGrant struct {
 | 
					type NodeGrant struct {
 | 
				
			||||||
	Id          uint32 `field:"id"`          // ID
 | 
						Id          uint32 `field:"id"`          // ID
 | 
				
			||||||
 | 
						AdminId     uint32 `field:"adminId"`     // 管理员ID
 | 
				
			||||||
	Name        string `field:"name"`        // 名称
 | 
						Name        string `field:"name"`        // 名称
 | 
				
			||||||
	Method      string `field:"method"`      // 登录方式
 | 
						Method      string `field:"method"`      // 登录方式
 | 
				
			||||||
	Username    string `field:"username"`    // 用户名
 | 
						Username    string `field:"username"`    // 用户名
 | 
				
			||||||
@@ -17,6 +18,7 @@ type NodeGrant struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
type NodeGrantOperator struct {
 | 
					type NodeGrantOperator struct {
 | 
				
			||||||
	Id          interface{} // ID
 | 
						Id          interface{} // ID
 | 
				
			||||||
 | 
						AdminId     interface{} // 管理员ID
 | 
				
			||||||
	Name        interface{} // 名称
 | 
						Name        interface{} // 名称
 | 
				
			||||||
	Method      interface{} // 登录方式
 | 
						Method      interface{} // 登录方式
 | 
				
			||||||
	Username    interface{} // 用户名
 | 
						Username    interface{} // 用户名
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,12 +13,12 @@ type NodeGrantService struct {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (this *NodeGrantService) CreateNodeGrant(ctx context.Context, req *pb.CreateNodeGrantRequest) (*pb.CreateNodeGrantResponse, error) {
 | 
					func (this *NodeGrantService) CreateNodeGrant(ctx context.Context, req *pb.CreateNodeGrantRequest) (*pb.CreateNodeGrantResponse, error) {
 | 
				
			||||||
	_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
 | 
						adminId, err := this.ValidateAdmin(ctx, 0)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	grantId, err := models.SharedNodeGrantDAO.CreateGrant(req.Name, req.Method, req.Username, req.Password, req.PrivateKey, req.Description, req.NodeId)
 | 
						grantId, err := models.SharedNodeGrantDAO.CreateGrant(adminId, req.Name, req.Method, req.Username, req.Password, req.PrivateKey, req.Description, req.NodeId)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,5 +81,11 @@ func upgradeV0_0_3(db *dbs.DB) error {
 | 
				
			|||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 升级edgeNodeGrants
 | 
				
			||||||
 | 
						_, err = db.Exec("UPDATE edgeNodeGrants SET adminId=? WHERE adminId=0", adminId)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user