diff --git a/cmd/server/app/network/controller/agentcontroller/rpm.go b/cmd/server/app/network/controller/agentcontroller/rpm.go index ccedb132034f57e400fe1d69030ef2b8e0151c79..9de55d8c2d39b5376b72636b3b53b7df12c597ea 100644 --- a/cmd/server/app/network/controller/agentcontroller/rpm.go +++ b/cmd/server/app/network/controller/agentcontroller/rpm.go @@ -119,7 +119,7 @@ func InstallRpmHandler(c *gin.Context) { } subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "软件包安装:" + agent.IP, + ActionObject: "软件包安装:" + agent.IP, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) @@ -198,7 +198,7 @@ func RemoveRpmHandler(c *gin.Context) { } subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "软件包卸载:" + agent.IP, + ActionObject: "软件包卸载:" + agent.IP, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) diff --git a/cmd/server/app/network/controller/batch.go b/cmd/server/app/network/controller/batch.go index e4ab172a64cdbae8980711916e62d5a110a28285..53c8dc41b32ab7c896b03b72ac27a4e1dff8a2a7 100644 --- a/cmd/server/app/network/controller/batch.go +++ b/cmd/server/app/network/controller/batch.go @@ -46,7 +46,7 @@ func CreateBatchHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "批次创建:" + params.Name, + ActionObject: "批次创建:" + params.Name, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) @@ -142,7 +142,7 @@ func DeleteBatchHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "批次删除:" + strings.Join(batchdel.Batches, ","), + ActionObject: "批次删除:" + strings.Join(batchdel.Batches, ","), UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) @@ -190,7 +190,7 @@ func UpdateBatchHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "批次编辑:" + batchinfo.BatchName, + ActionObject: "批次编辑:" + batchinfo.BatchName, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) diff --git a/cmd/server/app/network/controller/depart.go b/cmd/server/app/network/controller/depart.go index e01d6fc9802256e42d22da5b2960c89d588dc7c4..b4ea8f2467764cc1bf6b1428306e671c552cb2cc 100644 --- a/cmd/server/app/network/controller/depart.go +++ b/cmd/server/app/network/controller/depart.go @@ -97,7 +97,7 @@ func AddDepartHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "部门添加:" + newDepart.DepartName, + ActionObject: "部门添加:" + newDepart.DepartName, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) @@ -176,7 +176,7 @@ func UpdateDepartHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "修改部门名称" + new.DepartName, + ActionObject: "修改部门名称:" + new.DepartName, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) @@ -188,7 +188,7 @@ func UpdateDepartHandler(c *gin.Context) { return } auditlog.UpdateLog(logId, auditlog.StatusSuccess) - auditlog.UpdateSubLog(subLogId, auditlog.StatusSuccess, "操作成功") + auditlog.UpdateSubLog(subLogId, auditlog.StatusSuccess, "部门新名称为:"+new.DepartName) response.Success(c, nil, "部门更新成功") } diff --git a/cmd/server/app/network/controller/role.go b/cmd/server/app/network/controller/role.go index e9096ba9954d6be4c38a95e793e48799a52796f4..bb5c4c9698e509d0cc484316da9a09b0dc2a9451 100644 --- a/cmd/server/app/network/controller/role.go +++ b/cmd/server/app/network/controller/role.go @@ -135,7 +135,7 @@ func RolePermissionChangeHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "角色权限变更:" + params.Role, + ActionObject: "角色权限变更:" + params.Role, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) diff --git a/cmd/server/app/network/controller/script.go b/cmd/server/app/network/controller/script.go index f907bfd2d35f15d8fe501deadeeaa9c73e7c2aad..2ec92fabcc629994084bebcd243c6c1335addd30 100644 --- a/cmd/server/app/network/controller/script.go +++ b/cmd/server/app/network/controller/script.go @@ -47,7 +47,7 @@ func AddScriptHandler(c *gin.Context) { }) subLogId, _ := auditlog.AddSubLog(&auditlog.SubLog{ LogId: logId, - ActionObject: "创建脚本:" + script.Name, + ActionObject: "创建脚本:" + script.Name, UpdateTime: time.Now().Format("2006-01-02 15:04:05"), }) diff --git a/cmd/server/app/network/controller/user.go b/cmd/server/app/network/controller/user.go index 6e316fb527422b8452cf00c810e36efe6585a22c..433f98ad4b245c346d111d25f1d0b7fd830679d6 100644 --- a/cmd/server/app/network/controller/user.go +++ b/cmd/server/app/network/controller/user.go @@ -9,15 +9,12 @@ package controller import ( "fmt" - "net/http" "regexp" - "strconv" "strings" "time" eventSDK "gitee.com/openeuler/PilotGo-plugins/event/sdk" "gitee.com/openeuler/PilotGo/cmd/server/app/network/jwt" - "gitee.com/openeuler/PilotGo/cmd/server/app/service/auditlog" "gitee.com/openeuler/PilotGo/cmd/server/app/service/plugin" "gitee.com/openeuler/PilotGo/cmd/server/app/service/role" userservice "gitee.com/openeuler/PilotGo/cmd/server/app/service/user" @@ -273,7 +270,6 @@ func ResetPasswordHandler(c *gin.Context) { // 删除用户 func DeleteUserHandler(c *gin.Context) { - statuscodes := []string{} fd := struct { Deldatas []string `json:"delDatas,omitempty"` }{} @@ -282,26 +278,28 @@ func DeleteUserHandler(c *gin.Context) { return } + var codeMap = make(map[string][]string) for _, ps := range fd.Deldatas { - err := userservice.DeleteUser(strings.Split(ps, "/")[0]) if err != nil { - statuscodes = append(statuscodes, strconv.Itoa(http.StatusBadRequest)) - continue + if _, exists := codeMap["失败"]; !exists { + codeMap["失败"] = []string{} + } + codeMap["失败"] = append(codeMap["失败"], ps) + } else { + if _, exists := codeMap["成功"]; !exists { + codeMap["成功"] = []string{} + } + codeMap["成功"] = append(codeMap["成功"], ps) } - - statuscodes = append(statuscodes, strconv.Itoa(http.StatusOK)) } - status := auditlog.BatchActionStatus(statuscodes) - switch strings.Split(status, ",")[2] { - case "0.00": + if len(codeMap["成功"]) == 0 { response.Fail(c, nil, "用户删除失败") - return - case "1.00": + } else if len(codeMap["失败"]) == 0 { response.Success(c, nil, "用户删除成功") - default: - response.Success(c, nil, "用户删除部分成功") + } else { + response.Success(c, nil, "部分用户删除成功") } } diff --git a/cmd/server/app/network/controller/webTerminal.go b/cmd/server/app/network/controller/webTerminal.go index 899f767dc394977ae40030be91ce7ac58d41fd9a..df329743c86da2564186b3478d84ac0a8f92d1d5 100644 --- a/cmd/server/app/network/controller/webTerminal.go +++ b/cmd/server/app/network/controller/webTerminal.go @@ -59,24 +59,30 @@ func WebTerminal(c *gin.Context) { } var logBuff = bufPool.Get().(*bytes.Buffer) - logBuff.Reset() - defer bufPool.Put(logBuff) + defer func() { + logBuff.Reset() + defer bufPool.Put(logBuff) + }() ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + wg := sync.WaitGroup{} wg.Add(2) + go func() { defer wg.Done() err := terminal.LoopRead(logBuff, ctx) if err != nil { - logger.Error("%#v", err) + logger.Error("LoopRead 退出:%#v", err) } + cancel() }() go func() { defer wg.Done() err := terminal.SessionWait() if err != nil { - logger.Error("%#v", err) + logger.Error("SessionWait 退出:%#v", err) } cancel() }() diff --git a/cmd/server/app/network/websocket/sshclient.go b/cmd/server/app/network/websocket/sshclient.go index 3b0c873e1f8df55f5ec7bfa632f8ad6e9174dc8d..a01590b5e496f507148c60da9dec8129685c97c8 100644 --- a/cmd/server/app/network/websocket/sshclient.go +++ b/cmd/server/app/network/websocket/sshclient.go @@ -80,8 +80,8 @@ func DecodedMsgToSSHClient(msg string) (*SSHClient, error) { // 升级HTTP协议为WebSocket var Upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, + ReadBufferSize: 1024 * 4, + WriteBufferSize: 1024 * 4, CheckOrigin: func(r *http.Request) bool { return true }, diff --git a/cmd/server/app/network/websocket/webterminal.go b/cmd/server/app/network/websocket/webterminal.go index 89f7d177177027d630f0e73c81dabd93021d4c3f..2cd43738167083742515206534410da7d2292375 100644 --- a/cmd/server/app/network/websocket/webterminal.go +++ b/cmd/server/app/network/websocket/webterminal.go @@ -66,7 +66,7 @@ func NewTerminal(ws_conn *websocket.Conn, sshClient *ssh.Client) (*Terminal, err return terminal, nil } func (t *Terminal) Write(p []byte) (n int, err error) { - writer, err := t.WsConn.NextWriter(websocket.TextMessage) + writer, err := t.WsConn.NextWriter(websocket.BinaryMessage) if err != nil { return 0, err } @@ -108,8 +108,7 @@ func (t *Terminal) LoopRead(logBuff *bytes.Buffer, context context.Context) erro switch wsData[0] { case MsgResize: var args Resize - err := json.Unmarshal(body, &args) - if err != nil { + if err := json.Unmarshal(body, &args); err != nil { return fmt.Errorf("ssh pty resize windows err:%s", err) } if args.Columns > 0 && args.Rows > 0 { diff --git a/cmd/server/app/service/auditlog/auditlog.go b/cmd/server/app/service/auditlog/auditlog.go index 52ab59454bb9acf23a66906d098e241d1a620005..4dd822482a017fb1d86d80582f43632576a219f0 100644 --- a/cmd/server/app/service/auditlog/auditlog.go +++ b/cmd/server/app/service/auditlog/auditlog.go @@ -8,10 +8,6 @@ package auditlog import ( - "fmt" - "net/http" - "strconv" - "gitee.com/openeuler/PilotGo/cmd/server/app/service/internal/dao" ) @@ -42,26 +38,6 @@ const ( type AuditLog = dao.AuditLog type SubLog = dao.SubLog -// 单机操作成功状态:是否成功,机器数量,成功率 -const ( - ActionOK = "1,1,1.00" - ActionFalse = "0,1,0.00" -) - -// 计算批量机器操作的状态:成功数,总数目,比率 -func BatchActionStatus(StatusCodes []string) (status string) { - var StatusOKCounts int - for _, success := range StatusCodes { - if success == strconv.Itoa(http.StatusOK) { - StatusOKCounts++ - } - } - num, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(StatusOKCounts)/float64(len(StatusCodes))), 64) - rate := strconv.FormatFloat(num, 'f', 2, 64) - status = strconv.Itoa(StatusOKCounts) + "," + strconv.Itoa(len(StatusCodes)) + "," + rate - return -} - func Add(log *dao.AuditLog) (int, error) { return log.Record() } diff --git a/cmd/server/app/service/auth/casbin.go b/cmd/server/app/service/auth/casbin.go index 2ee79f216bea8e1800ab184193faa7b971c4fb63..aac75b438dcbff4879121ee09626859371b90195 100644 --- a/cmd/server/app/service/auth/casbin.go +++ b/cmd/server/app/service/auth/casbin.go @@ -115,7 +115,6 @@ var ( MenuList = []string{ "overview", "cluster", - "batch", "usermanager", "rolemanager", "audit",