package middleware import ( "IotAdmin/common/middleware/handler" "IotAdmin/core/sdk/api" "IotAdmin/core/sdk/config" "IotAdmin/core/sdk/pkg" "IotAdmin/core/sdk" jwt "IotAdmin/core/sdk/pkg/jwt-auth" "github.com/gin-gonic/gin" ) const ( JwtTokenCheck string = "JwtToken" RoleCheck string = "AuthCheckRole" PermissionCheck string = "SetDataPermission" ) // UseGinMiddleware 注册gin中间件 func UseGinMiddleware(r *gin.Engine) { if config.SslConfig.Enable { r.Use(handler.TlsHandler()) } //r.Use(middleware.Metrics()) r.Use(Sentinel()). Use(RequestId(pkg.TrafficKey)). Use(api.SetRequestLogger) // 数据库链接 r.Use(WithContextDb) // 日志处理 r.Use(LoggerToFile) // 自定义错误处理 r.Use(CustomError) // NoCache is a middleware function that appends headers r.Use(NoCache) // 跨域处理 r.Use(Options) // Secure is a middleware function that appends security r.Use(Secure) // 链路追踪 //r.Use(middleware.Trace()) sdk.Runtime.SetMiddleware(JwtTokenCheck, (*jwt.GinJWTMiddleware).MiddlewareFunc) sdk.Runtime.SetMiddleware(RoleCheck, AuthCheckRole()) sdk.Runtime.SetMiddleware(PermissionCheck, SetDataPermission()) }