diff --git a/internal/web/actions/default/clusters/cluster/node/node.go b/internal/web/actions/default/clusters/cluster/node/node.go
index 2d7edee0..f5aa6b68 100644
--- a/internal/web/actions/default/clusters/cluster/node/node.go
+++ b/internal/web/actions/default/clusters/cluster/node/node.go
@@ -114,17 +114,17 @@ func (this *NodeAction) RunGet(params struct {
grantMap := maps.Map{}
grantId := loginParams.GetInt64("grantId")
if grantId > 0 {
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: grantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: grantId})
if err != nil {
this.ErrorPage(err)
return
}
- if grantResp.Grant != nil {
+ if grantResp.NodeGrant != nil {
grantMap = maps.Map{
- "id": grantResp.Grant.Id,
- "name": grantResp.Grant.Name,
- "method": grantResp.Grant.Method,
- "methodName": grantutils.FindGrantMethodName(grantResp.Grant.Method),
+ "id": grantResp.NodeGrant.Id,
+ "name": grantResp.NodeGrant.Name,
+ "method": grantResp.NodeGrant.Method,
+ "methodName": grantutils.FindGrantMethodName(grantResp.NodeGrant.Method),
}
}
}
diff --git a/internal/web/actions/default/clusters/cluster/node/update.go b/internal/web/actions/default/clusters/cluster/node/update.go
index a28f1a1e..e3ef2194 100644
--- a/internal/web/actions/default/clusters/cluster/node/update.go
+++ b/internal/web/actions/default/clusters/cluster/node/update.go
@@ -114,17 +114,17 @@ func (this *UpdateAction) RunGet(params struct {
grantMap := maps.Map{}
grantId := loginParams.GetInt64("grantId")
if grantId > 0 {
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: grantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: grantId})
if err != nil {
this.ErrorPage(err)
return
}
- if grantResp.Grant != nil {
+ if grantResp.NodeGrant != nil {
grantMap = maps.Map{
- "id": grantResp.Grant.Id,
- "name": grantResp.Grant.Name,
- "method": grantResp.Grant.Method,
- "methodName": grantutils.FindGrantMethodName(grantResp.Grant.Method),
+ "id": grantResp.NodeGrant.Id,
+ "name": grantResp.NodeGrant.Name,
+ "method": grantResp.NodeGrant.Method,
+ "methodName": grantutils.FindGrantMethodName(grantResp.NodeGrant.Method),
}
}
}
diff --git a/internal/web/actions/default/clusters/cluster/settings/index.go b/internal/web/actions/default/clusters/cluster/settings/index.go
index 965d6f35..18579a5e 100644
--- a/internal/web/actions/default/clusters/cluster/settings/index.go
+++ b/internal/web/actions/default/clusters/cluster/settings/index.go
@@ -36,12 +36,12 @@ func (this *IndexAction) RunGet(params struct {
var grantMap interface{} = nil
if cluster.GrantId > 0 {
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: cluster.GrantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: cluster.GrantId})
if err != nil {
this.ErrorPage(err)
return
}
- grant := grantResp.Grant
+ grant := grantResp.NodeGrant
if grant != nil {
grantMap = maps.Map{
"id": grant.Id,
@@ -62,7 +62,7 @@ func (this *IndexAction) RunGet(params struct {
this.Show()
}
-// 保存设置
+// RunPost 保存设置
func (this *IndexAction) RunPost(params struct {
ClusterId int64
Name string
diff --git a/internal/web/actions/default/clusters/cluster/updateNodeSSH.go b/internal/web/actions/default/clusters/cluster/updateNodeSSH.go
index 49b2b365..cb5a66c5 100644
--- a/internal/web/actions/default/clusters/cluster/updateNodeSSH.go
+++ b/internal/web/actions/default/clusters/cluster/updateNodeSSH.go
@@ -58,17 +58,17 @@ func (this *UpdateNodeSSHAction) RunGet(params struct {
// 认证信息
grantId := loginParams.GetInt64("grantId")
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: grantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: grantId})
if err != nil {
this.ErrorPage(err)
}
var grantMap maps.Map = nil
- if grantResp.Grant != nil {
+ if grantResp.NodeGrant != nil {
grantMap = maps.Map{
- "id": grantResp.Grant.Id,
- "name": grantResp.Grant.Name,
- "method": grantResp.Grant.Method,
- "methodName": grantutils.FindGrantMethodName(grantResp.Grant.Method),
+ "id": grantResp.NodeGrant.Id,
+ "name": grantResp.NodeGrant.Name,
+ "method": grantResp.NodeGrant.Method,
+ "methodName": grantutils.FindGrantMethodName(grantResp.NodeGrant.Method),
}
}
this.Data["grant"] = grantMap
diff --git a/internal/web/actions/default/clusters/grants/create.go b/internal/web/actions/default/clusters/grants/create.go
index 4c2687d8..f40af196 100644
--- a/internal/web/actions/default/clusters/grants/create.go
+++ b/internal/web/actions/default/clusters/grants/create.go
@@ -64,7 +64,7 @@ func (this *CreateAction) RunPost(params struct {
}
// 创建日志
- defer this.CreateLog(oplogs.LevelInfo, "创建SSH认证 %d", createResp.GrantId)
+ defer this.CreateLog(oplogs.LevelInfo, "创建SSH认证 %d", createResp.NodeGrantId)
this.Success()
}
diff --git a/internal/web/actions/default/clusters/grants/createPopup.go b/internal/web/actions/default/clusters/grants/createPopup.go
index e886a653..66d5e95b 100644
--- a/internal/web/actions/default/clusters/grants/createPopup.go
+++ b/internal/web/actions/default/clusters/grants/createPopup.go
@@ -65,14 +65,14 @@ func (this *CreatePopupAction) RunPost(params struct {
}
this.Data["grant"] = maps.Map{
- "id": createResp.GrantId,
+ "id": createResp.NodeGrantId,
"name": params.Name,
"method": params.Method,
"methodName": grantutils.FindGrantMethodName(params.Method),
}
// 创建日志
- defer this.CreateLog(oplogs.LevelInfo, "创建SSH认证 %d", createResp.GrantId)
+ defer this.CreateLog(oplogs.LevelInfo, "创建SSH认证 %d", createResp.NodeGrantId)
this.Success()
}
diff --git a/internal/web/actions/default/clusters/grants/delete.go b/internal/web/actions/default/clusters/grants/delete.go
index 19b8a3ef..dac24532 100644
--- a/internal/web/actions/default/clusters/grants/delete.go
+++ b/internal/web/actions/default/clusters/grants/delete.go
@@ -38,7 +38,7 @@ func (this *DeleteAction) RunPost(params struct {
}
// 删除
- _, err = this.RPC().NodeGrantRPC().DisableNodeGrant(this.AdminContext(), &pb.DisableNodeGrantRequest{GrantId: params.GrantId})
+ _, err = this.RPC().NodeGrantRPC().DisableNodeGrant(this.AdminContext(), &pb.DisableNodeGrantRequest{NodeGrantId: params.GrantId})
if err != nil {
this.ErrorPage(err)
return
diff --git a/internal/web/actions/default/clusters/grants/grant.go b/internal/web/actions/default/clusters/grants/grant.go
index 0c65c593..75a3af69 100644
--- a/internal/web/actions/default/clusters/grants/grant.go
+++ b/internal/web/actions/default/clusters/grants/grant.go
@@ -19,19 +19,19 @@ func (this *GrantAction) Init() {
func (this *GrantAction) RunGet(params struct {
GrantId int64
}) {
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: params.GrantId})
if err != nil {
this.ErrorPage(err)
return
}
- if grantResp.Grant == nil {
+ if grantResp.NodeGrant == nil {
this.WriteString("can not find the grant")
return
}
// TODO 处理节点专用的认证
- grant := grantResp.Grant
+ grant := grantResp.NodeGrant
this.Data["grant"] = maps.Map{
"id": grant.Id,
"name": grant.Name,
diff --git a/internal/web/actions/default/clusters/grants/index.go b/internal/web/actions/default/clusters/grants/index.go
index 81ba667a..c1298b5f 100644
--- a/internal/web/actions/default/clusters/grants/index.go
+++ b/internal/web/actions/default/clusters/grants/index.go
@@ -33,7 +33,7 @@ func (this *IndexAction) RunGet(params struct{}) {
return
}
grantMaps := []maps.Map{}
- for _, grant := range grantsResp.Grants {
+ for _, grant := range grantsResp.NodeGrants {
// 集群数
countClustersResp, err := this.RPC().NodeClusterRPC().CountAllEnabledNodeClustersWithGrantId(this.AdminContext(), &pb.CountAllEnabledNodeClustersWithGrantIdRequest{GrantId: grant.Id})
if err != nil {
diff --git a/internal/web/actions/default/clusters/grants/init.go b/internal/web/actions/default/clusters/grants/init.go
index 932adb28..23e619f4 100644
--- a/internal/web/actions/default/clusters/grants/init.go
+++ b/internal/web/actions/default/clusters/grants/init.go
@@ -24,6 +24,7 @@ func init() {
GetPost("/selectPopup", new(SelectPopupAction)).
GetPost("/createPopup", new(CreatePopupAction)).
GetPost("/updatePopup", new(UpdatePopupAction)).
+ GetPost("/test", new(TestAction)).
EndAll()
})
}
diff --git a/internal/web/actions/default/clusters/grants/selectPopup.go b/internal/web/actions/default/clusters/grants/selectPopup.go
index e5a05985..f5c0d316 100644
--- a/internal/web/actions/default/clusters/grants/selectPopup.go
+++ b/internal/web/actions/default/clusters/grants/selectPopup.go
@@ -23,7 +23,7 @@ func (this *SelectPopupAction) RunGet(params struct{}) {
this.ErrorPage(err)
return
}
- grants := grantsResp.Grants
+ grants := grantsResp.NodeGrants
grantMaps := []maps.Map{}
for _, grant := range grants {
grantMaps = append(grantMaps, maps.Map{
@@ -52,12 +52,12 @@ func (this *SelectPopupAction) RunPost(params struct {
this.Success()
}
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: params.GrantId})
if err != nil {
this.ErrorPage(err)
return
}
- grant := grantResp.Grant
+ grant := grantResp.NodeGrant
if grant == nil {
this.Fail("找不到要使用的认证")
}
diff --git a/internal/web/actions/default/clusters/grants/test.go b/internal/web/actions/default/clusters/grants/test.go
new file mode 100644
index 00000000..d0fc9dd6
--- /dev/null
+++ b/internal/web/actions/default/clusters/grants/test.go
@@ -0,0 +1,78 @@
+// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
+
+package grants
+
+import (
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
+ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils"
+ "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
+ "github.com/iwind/TeaGo/actions"
+ "github.com/iwind/TeaGo/maps"
+ "strings"
+)
+
+type TestAction struct {
+ actionutils.ParentAction
+}
+
+func (this *TestAction) Init() {
+ this.Nav("", "", "test")
+}
+
+func (this *TestAction) RunGet(params struct {
+ GrantId int64
+}) {
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: params.GrantId})
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if grantResp.NodeGrant == nil {
+ this.WriteString("can not find the grant")
+ return
+ }
+
+ grant := grantResp.NodeGrant
+ this.Data["grant"] = maps.Map{
+ "id": grant.Id,
+ "name": grant.Name,
+ "method": grant.Method,
+ "methodName": grantutils.FindGrantMethodName(grant.Method),
+ "username": grant.Username,
+ "password": strings.Repeat("*", len(grant.Password)),
+ "privateKey": grant.PrivateKey,
+ "description": grant.Description,
+ "su": grant.Su,
+ }
+
+ this.Show()
+}
+
+func (this *TestAction) RunPost(params struct {
+ GrantId int64
+ Host string
+ Port int32
+
+ Must *actions.Must
+ CSRF *actionutils.CSRF
+}) {
+ params.Must.
+ Field("host", params.Host).
+ Require("请输入节点主机地址").
+ Field("port", params.Port).
+ Gt(0, "请输入正确的端口号").
+ Lt(65535, "请输入正确的端口号")
+
+ resp, err := this.RPC().NodeGrantRPC().TestNodeGrant(this.AdminContext(), &pb.TestNodeGrantRequest{
+ NodeGrantId: params.GrantId,
+ Host: params.Host,
+ Port: params.Port,
+ })
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ this.Data["isOk"] = resp.IsOk
+ this.Data["error"] = resp.Error
+ this.Success()
+}
diff --git a/internal/web/actions/default/clusters/grants/update.go b/internal/web/actions/default/clusters/grants/update.go
index f35619bc..10380aa7 100644
--- a/internal/web/actions/default/clusters/grants/update.go
+++ b/internal/web/actions/default/clusters/grants/update.go
@@ -22,19 +22,19 @@ func (this *UpdateAction) RunGet(params struct {
}) {
this.Data["methods"] = grantutils.AllGrantMethods()
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: params.GrantId})
if err != nil {
this.ErrorPage(err)
return
}
- if grantResp.Grant == nil {
+ if grantResp.NodeGrant == nil {
this.WriteString("can not find the grant")
return
}
// TODO 处理节点专用的认证
- grant := grantResp.Grant
+ grant := grantResp.NodeGrant
this.Data["grant"] = maps.Map{
"id": grant.Id,
"name": grant.Name,
@@ -84,7 +84,7 @@ func (this *UpdateAction) RunPost(params struct {
// TODO 检查grantId是否存在
_, err := this.RPC().NodeGrantRPC().UpdateNodeGrant(this.AdminContext(), &pb.UpdateNodeGrantRequest{
- GrantId: params.GrantId,
+ NodeGrantId: params.GrantId,
Name: params.Name,
Method: params.Method,
Username: params.Username,
diff --git a/internal/web/actions/default/clusters/grants/updatePopup.go b/internal/web/actions/default/clusters/grants/updatePopup.go
index fcf5a10b..241a53d5 100644
--- a/internal/web/actions/default/clusters/grants/updatePopup.go
+++ b/internal/web/actions/default/clusters/grants/updatePopup.go
@@ -22,18 +22,18 @@ func (this *UpdatePopupAction) RunGet(params struct {
}) {
this.Data["methods"] = grantutils.AllGrantMethods()
- grantResp, err := this.RPC().NodeGrantRPC().FindEnabledGrant(this.AdminContext(), &pb.FindEnabledGrantRequest{GrantId: params.GrantId})
+ grantResp, err := this.RPC().NodeGrantRPC().FindEnabledNodeGrant(this.AdminContext(), &pb.FindEnabledNodeGrantRequest{NodeGrantId: params.GrantId})
if err != nil {
this.ErrorPage(err)
return
}
- if grantResp.Grant == nil {
+ if grantResp.NodeGrant == nil {
this.WriteString("找不到要操作的对象")
return
}
- grant := grantResp.Grant
+ grant := grantResp.NodeGrant
this.Data["grant"] = maps.Map{
"id": grant.Id,
"nodeId": grant.NodeId,
@@ -82,7 +82,7 @@ func (this *UpdatePopupAction) RunPost(params struct {
// 执行修改
_, err := this.RPC().NodeGrantRPC().UpdateNodeGrant(this.AdminContext(), &pb.UpdateNodeGrantRequest{
- GrantId: params.GrantId,
+ NodeGrantId: params.GrantId,
Name: params.Name,
Method: params.Method,
Username: params.Username,
diff --git a/web/views/@default/clusters/grants/@grant_menu.html b/web/views/@default/clusters/grants/@grant_menu.html
index c184965b..528d98fc 100644
--- a/web/views/@default/clusters/grants/@grant_menu.html
+++ b/web/views/@default/clusters/grants/@grant_menu.html
@@ -2,5 +2,6 @@
起一个容易识别的名称。
SSH登录用户名。
-SSH登录用户名。
+用来生成登录SSH公钥的私钥
-用来生成登录SSH公钥的私钥
+起一个容易识别的名称。