[SSL证书]增加提前自动更新证书功能

This commit is contained in:
刘祥超
2020-11-27 09:57:21 +08:00
parent f3cffdcf6d
commit 83be53eac0
13 changed files with 351 additions and 16 deletions

View File

@@ -10,6 +10,18 @@ import (
type BaseService struct {
}
// 校验管理员
func (this *BaseService) ValidateAdmin(ctx context.Context, reqAdminId int64) (adminId int64, err error) {
_, reqUserId, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return
}
if reqAdminId > 0 && reqUserId != reqAdminId {
return 0, this.PermissionError()
}
return reqUserId, nil
}
// 校验管理员和用户
func (this *BaseService) ValidateAdminAndUser(ctx context.Context, reqUserId int64) (adminId int64, userId int64, err error) {
reqUserType, reqUserId, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin, rpcutils.UserTypeUser)

View File

@@ -21,7 +21,7 @@ type DNSDomainService struct {
// 创建域名
func (this *DNSDomainService) CreateDNSDomain(ctx context.Context, req *pb.CreateDNSDomainRequest) (*pb.CreateDNSDomainResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
adminId, userId, err := this.ValidateAdminAndUser(ctx, 0)
if err != nil {
return nil, err
}
@@ -39,7 +39,7 @@ func (this *DNSDomainService) CreateDNSDomain(ctx context.Context, req *pb.Creat
return nil, err
}
domainId, err := models.SharedDNSDomainDAO.CreateDomain(req.DnsProviderId, req.Name)
domainId, err := models.SharedDNSDomainDAO.CreateDomain(adminId, userId, req.DnsProviderId, req.Name)
if err != nil {
return nil, err
}

View File

@@ -38,12 +38,12 @@ type NodeService struct {
// 创建节点
func (this *NodeService) CreateNode(ctx context.Context, req *pb.CreateNodeRequest) (*pb.CreateNodeResponse, error) {
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
adminId, err := this.ValidateAdmin(ctx, 0)
if err != nil {
return nil, err
}
nodeId, err := models.SharedNodeDAO.CreateNode(req.Name, req.ClusterId, req.GroupId)
nodeId, err := models.SharedNodeDAO.CreateNode(adminId, req.Name, req.ClusterId, req.GroupId)
if err != nil {
return nil, err
}
@@ -87,7 +87,12 @@ func (this *NodeService) RegisterClusterNode(ctx context.Context, req *pb.Regist
return nil, err
}
nodeId, err := models.SharedNodeDAO.CreateNode(req.Name, clusterId, 0)
adminId, err := models.SharedNodeClusterDAO.FindClusterAdminId(clusterId)
if err != nil {
return nil, err
}
nodeId, err := models.SharedNodeDAO.CreateNode(adminId, req.Name, clusterId, 0)
if err != nil {
return nil, err
}

View File

@@ -19,12 +19,12 @@ type NodeClusterService struct {
// 创建集群
func (this *NodeClusterService) CreateNodeCluster(ctx context.Context, req *pb.CreateNodeClusterRequest) (*pb.CreateNodeClusterResponse, error) {
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
adminId, err := this.ValidateAdmin(ctx, 0)
if err != nil {
return nil, err
}
clusterId, err := models.SharedNodeClusterDAO.CreateCluster(req.Name, req.GrantId, req.InstallDir, req.DnsDomainId, req.DnsName)
clusterId, err := models.SharedNodeClusterDAO.CreateCluster(adminId, req.Name, req.GrantId, req.InstallDir, req.DnsDomainId, req.DnsName)
if err != nil {
return nil, err
}