feat: Implement Oauth2 login log service and repository

- Added Oauth2LogLoginService for managing user authorization logs.
- Implemented methods for inserting logs, cleaning logs, and exporting log data.
- Created a new file for Oauth2 login log service.

refactor: Remove unused open_api module

- Deleted the open_api.go file as it was not utilized in the project.

fix: Update error codes in SysProfileController

- Changed error codes for binding errors and user authentication errors to more descriptive values.

fix: Update cache handling in SysConfig and SysDictType services

- Modified Redis set operations to include expiration time for cached values.

refactor: Update middleware authorization checks

- Replaced PreAuthorize middleware with AuthorizeUser across multiple routes in system and tool modules for consistency.

chore: Clean up trace and ws modules

- Updated middleware authorization in trace and ws modules to use AuthorizeUser.
This commit is contained in:
TsMask
2025-04-27 11:07:34 +08:00
parent b29a36e7b5
commit 56991a0b49
72 changed files with 2334 additions and 873 deletions

View File

@@ -21,28 +21,28 @@ func Setup(router *gin.Engine) {
neActionGroup := router.Group("/ne/action")
{
neActionGroup.GET("/files",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeAction.Files,
)
neActionGroup.GET("/pullFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeAction.PullFile,
)
neActionGroup.POST("/pushFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_IMPORT)),
controller.NewNeAction.PushFile,
)
neActionGroup.GET("/pullDirZip",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeAction.PullDirZip,
)
neActionGroup.GET("/viewFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeAction.ViewFile,
)
neActionGroup.PUT("/service",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neAction", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeAction.Service,
)
@@ -52,58 +52,58 @@ func Setup(router *gin.Engine) {
neInfoGroup := router.Group("/ne/info")
{
neInfoGroup.GET("/state",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.State,
)
neInfoGroup.GET("/byTypeAndID",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.NeTypeAndID,
)
neInfoGroup.GET("/listAll",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.ListAll,
)
neInfoGroup.GET("/para5GFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.Para5GFileRead,
)
neInfoGroup.PUT("/para5GFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeInfo.Para5GFileWrite,
)
neInfoGroup.GET("/oamFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.OAMFileRead,
)
neInfoGroup.PUT("/oamFile",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeInfo.OAMFileWrite,
)
neInfoGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.List,
)
neInfoGroup.GET("/:id",
middleware.CryptoApi(false, true),
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeInfo.Info,
)
neInfoGroup.POST("",
middleware.CryptoApi(true, true),
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeInfo.Add,
)
neInfoGroup.PUT("",
middleware.CryptoApi(true, true),
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeInfo.Edit,
)
neInfoGroup.DELETE(":id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neInfo", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeInfo.Remove,
)
@@ -113,46 +113,46 @@ func Setup(router *gin.Engine) {
neHostGroup := router.Group("/ne/host")
{
neHostGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeHost.List,
)
neHostGroup.GET("/:id",
middleware.CryptoApi(false, true),
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeHost.Info,
)
neHostGroup.POST("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeHost.Add,
)
neHostGroup.PUT("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeHost.Edit,
)
neHostGroup.DELETE("/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeHost.Remove,
)
neHostGroup.POST("/test",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeHost.Test,
)
neHostGroup.POST("/cmd",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeHost.Cmd,
)
neHostGroup.POST("/checkBySSH",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeHost.CheckBySSH,
)
neHostGroup.POST("/authorizedBySSH",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHost", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeHost.AuthorizedBySSH,
)
@@ -162,25 +162,25 @@ func Setup(router *gin.Engine) {
neHostCmdGroup := router.Group("/ne/hostCmd")
{
neHostCmdGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeHostCmd.List,
)
neHostCmdGroup.GET("/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeHostCmd.Info,
)
neHostCmdGroup.POST("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeHostCmd.Add,
)
neHostCmdGroup.PUT("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeHostCmd.Edit,
)
neHostCmdGroup.DELETE(":id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neHostCmd", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeHostCmd.Remove,
)
@@ -190,15 +190,15 @@ func Setup(router *gin.Engine) {
neVersionGroup := router.Group("/ne/version")
{
neVersionGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeVersion.List,
)
neVersionGroup.GET("/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeVersion.Info,
)
neVersionGroup.POST("/operate",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neVersion", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeVersion.Operate,
)
@@ -208,30 +208,30 @@ func Setup(router *gin.Engine) {
neSoftwareGroup := router.Group("/ne/software")
{
neSoftwareGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeSoftware.List,
)
neSoftwareGroup.GET("/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeSoftware.Info,
)
neSoftwareGroup.POST("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeSoftware.Add,
)
neSoftwareGroup.PUT("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeSoftware.Edit,
)
neSoftwareGroup.DELETE(":id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeSoftware.Remove,
)
neSoftwareGroup.POST("/newNeVersion",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neSoftware", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeSoftware.NewNeVersion,
)
@@ -241,28 +241,28 @@ func Setup(router *gin.Engine) {
neLicenseGroup := router.Group("/ne/license")
{
neLicenseGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeLicense.List,
)
neLicenseGroup.GET("/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeLicense.Info,
)
neLicenseGroup.GET("/byTypeAndID",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeLicense.NeTypeAndID,
)
neLicenseGroup.GET("/code",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeLicense.Code,
)
neLicenseGroup.POST("/change",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neLicense", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewNeLicense.Change,
)
neLicenseGroup.GET("/state",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeLicense.State,
)
}
@@ -272,49 +272,49 @@ func Setup(router *gin.Engine) {
{
// 网元参数配置可用属性值
neConfigGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfig.List,
)
neConfigGroup.GET("/info/:id",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfig.Info,
)
neConfigGroup.POST("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeConfig.Add,
)
neConfigGroup.PUT("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeConfig.Edit,
)
neConfigGroup.DELETE("",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeConfig.Remove,
)
neConfigGroup.GET("/list/:neType",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfig.ListByNeType,
)
// 网元参数配置数据
neConfigGroup.GET("/data",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfig.DataInfo,
)
neConfigGroup.PUT("/data",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeConfig.DataEdit,
)
neConfigGroup.POST("/data",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewNeConfig.DataAdd,
)
neConfigGroup.DELETE("/data",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfig", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeConfig.DataRemove,
)
@@ -324,30 +324,30 @@ func Setup(router *gin.Engine) {
neConfigBackupGroup := router.Group("/ne/config/backup")
{
neConfigBackupGroup.GET("/list",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfigBackup.List,
)
neConfigBackupGroup.GET("/download",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
controller.NewNeConfigBackup.Download,
)
neConfigBackupGroup.PUT("",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"ne:neConfigBackup:edit"}}),
middleware.AuthorizeUser(map[string][]string{"hasPerms": {"ne:neConfigBackup:edit"}}),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigBackup", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewNeConfigBackup.Edit,
)
neConfigBackupGroup.DELETE("",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"ne:neConfigBackup:remove"}}),
middleware.AuthorizeUser(map[string][]string{"hasPerms": {"ne:neConfigBackup:remove"}}),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigBackup", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewNeConfigBackup.Remove,
)
neConfigBackupGroup.POST("/import",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigBackup", collectlogs.BUSINESS_TYPE_IMPORT)),
controller.NewNeConfigBackup.Import,
)
neConfigBackupGroup.POST("/export",
middleware.PreAuthorize(nil),
middleware.AuthorizeUser(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigBackup", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewNeConfigBackup.Export,
)

View File

@@ -46,7 +46,7 @@ func (r *NeConfig) RefreshByNeTypeAndNeID(neType string) []model.NeConfig {
v[i] = item
}
values, _ := json.Marshal(v)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
}
}
}
@@ -66,7 +66,7 @@ func (r *NeConfig) RefreshByNeTypeAndNeID(neType string) []model.NeConfig {
neConfigList[i] = v
}
values, _ := json.Marshal(neConfigList)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
}
return neConfigList
}

View File

@@ -50,7 +50,7 @@ func (r NeInfo) FindByNeTypeAndNeID(neType, neID string) model.NeInfo {
if neInfo.ID != 0 && neInfo.NeId == neID {
redis.Del("", key)
values, _ := json.Marshal(neInfo)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
}
}
return neInfo
@@ -64,7 +64,7 @@ func (r NeInfo) RefreshByNeTypeAndNeID(neType, neID string) model.NeInfo {
neInfo = r.neInfoRepository.SelectNeInfoByNeTypeAndNeID(neType, neID)
if neInfo.ID != 0 && neInfo.NeId == neID {
values, _ := json.Marshal(neInfo)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
}
return neInfo
}
@@ -103,7 +103,7 @@ func (r NeInfo) FindByNeType(neType string) []model.NeInfo {
key := fmt.Sprintf("%s:%s:%s", constants.CACHE_NE_INFO, strings.ToUpper(v.NeType), v.NeId)
redis.Del("", key)
values, _ := json.Marshal(v)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
}
}
return neInfo
@@ -131,7 +131,7 @@ func (r NeInfo) FindByRmuid(rmUid string) model.NeInfo {
key := fmt.Sprintf("%s:%s:%s", constants.CACHE_NE_INFO, strings.ToUpper(v.NeType), v.NeId)
redis.Del("", key)
values, _ := json.Marshal(v)
redis.Set("", key, string(values))
redis.Set("", key, string(values), 0)
if v.RmUID == rmUid {
neInfo = v
}