| | |
| | | type Auth interface { |
| | | Check(c *gin.Context)bool |
| | | User(c *gin.Context)map[string]interface{} |
| | | Login(http *http.Request,w http.ResponseWriter,user map[string]interface{})interface{} |
| | | Login(http *http.Request,w http.ResponseWriter,user map[string]interface{}) (bool, string, string) |
| | | Logout(http *http.Request,w http.ResponseWriter) bool |
| | | RefreshToken(tokenStr string) (bool, string, string) |
| | | } |
| | | |
| | | func GenerateAuthDriver() *Auth { |
| | |
| | | return func(c *gin.Context) { |
| | | urlPath := c.Request.URL.Path |
| | | |
| | | if strings.Contains(urlPath,"/data/api-") && !strings.Contains(urlPath,"login"){ |
| | | if strings.Contains(urlPath,"/data/api-") && !strings.Contains(urlPath,"login") && !strings.Contains(urlPath, "/data/api-v/license") && !strings.Contains(urlPath, "/data/api-v/info/"){ |
| | | jwtDriver :=NewJwtAuthDriver() |
| | | if !jwtDriver.Check(c) { |
| | | util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录") |
| | | c.Abort() |
| | | return |
| | | } |
| | | userM := (*jwtDriver).User(c) |
| | | if userM == nil { |
| | |
| | | if OutUser(userId) { |
| | | util.ResponseFormat(c,code.TokenNotFound,"尚未登录,请登录") |
| | | c.Abort() |
| | | return |
| | | } |
| | | c.Next() |
| | | } else { |
| | |
| | | |
| | | func GetCurUser(c *gin.Context)map[string]interface{}{ |
| | | return (*GenerateAuthDriver()).User(c) |
| | | } |
| | | } |