mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 01:20:25 +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