123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package services
- import (
- "eta/eta_api/utils/ws"
- )
- var ()
- //func WsAuthenticate() web.FilterFunc {
- // return func(ctx *context.Context) {
- // method := ctx.Input.Method()
- // uri := ctx.Input.URI()
- // if method == "GET" {
- // authorization := ctx.Input.Header("authorization")
- // if authorization == "" {
- // authorization = ctx.Input.Header("Authorization")
- // }
- // if strings.Contains(authorization, ";") {
- // authorization = strings.Replace(authorization, ";", "$", 1)
- // }
- // if authorization == "" {
- // strArr := strings.Split(uri, "?")
- // for k, v := range strArr {
- // fmt.Println(k, v)
- // }
- // if len(strArr) > 1 {
- // authorization = strArr[1]
- // authorization = strings.Replace(authorization, "Authorization", "authorization", -1)
- // }
- // }
- // if authorization == "" {
- // utils.FileLog.Error("authorization为空,未授权")
- // ctx.ResponseWriter.WriteHeader(http.StatusUnauthorized)
- // return
- // }
- // tokenStr := authorization
- // tokenArr := strings.Split(tokenStr, "=")
- // token := tokenArr[1]
- //
- // session, err := system.GetSysSessionByToken(token)
- // if err != nil {
- // if utils.IsErrNoRow(err) {
- // utils.FileLog.Error("authorization已过期")
- // ctx.ResponseWriter.WriteHeader(http.StatusUnauthorized)
- // return
- // }
- // utils.FileLog.Error("authorization查询用户信息失败")
- // ctx.ResponseWriter.WriteHeader(http.StatusBadRequest)
- // return
- // }
- // if session == nil {
- // utils.FileLog.Error("会话不存在")
- // ctx.ResponseWriter.WriteHeader(http.StatusBadRequest)
- // return
- // }
- // //校验token是否合法
- // // JWT校验Token和Account
- // account := utils.MD5(session.UserName)
- // if !utils.CheckToken(account, token) {
- // utils.FileLog.Error("authorization校验不合法")
- // ctx.ResponseWriter.WriteHeader(http.StatusUnauthorized)
- // return
- // }
- // if time.Now().After(session.ExpiredTime) {
- // utils.FileLog.Error("authorization过期法")
- // ctx.ResponseWriter.WriteHeader(http.StatusUnauthorized)
- // return
- // }
- // admin, err := system.GetSysUserById(session.SysUserId)
- // if err != nil {
- // if utils.IsErrNoRow(err) {
- // utils.FileLog.Error("权限不够")
- // ctx.ResponseWriter.WriteHeader(http.StatusForbidden)
- // return
- // }
- // utils.FileLog.Error("获取用户信息失败")
- // ctx.ResponseWriter.WriteHeader(http.StatusBadRequest)
- // return
- // }
- // if admin == nil {
- // utils.FileLog.Error("权限不够")
- // ctx.ResponseWriter.WriteHeader(http.StatusForbidden)
- // return
- // }
- // //如果不是启用状态
- // if admin.Enabled != 1 {
- // utils.FileLog.Error("用户被禁用")
- // ctx.ResponseWriter.WriteHeader(http.StatusForbidden)
- // return
- // }
- //
- // //接口权限校验
- // roleId := admin.RoleId
- // list, e := system.GetMenuButtonApisByRoleId(roleId)
- // if e != nil {
- // utils.FileLog.Error("接口权限查询出错", e)
- // ctx.ResponseWriter.WriteHeader(http.StatusForbidden)
- // return
- // }
- // var api string
- // for _, v := range list {
- // if v.Api != "" {
- // api += v.Api + "&"
- // }
- // }
- // api += "&" + models.BusinessConfMap["PublicApi"]
- // //处理uri请求,去除前缀和参数
- // api = strings.TrimRight(api, "&")
- // uri = strings.Replace(uri, "/adminapi", "", 1)
- // uris := strings.Split(uri, "?")
- // uri = uris[0]
- // //fmt.Println("uri:", uri)
- // apis := strings.Split(api, "&")
- // apiMap := make(map[string]bool, 0)
- // for _, s := range apis {
- // apiMap[s] = true
- // }
- // if !apiMap[uri] {
- // utils.FileLog.Error("用户无权访问")
- // ctx.ResponseWriter.WriteHeader(http.StatusForbidden)
- // return
- // }
- // ctx.Input.SetData("admin", admin)
- // } else {
- // utils.FileLog.Error("请求方法类型错误")
- // ctx.ResponseWriter.WriteHeader(http.StatusBadRequest)
- // return
- // }
- // }
- //}
- func StartSessionManager() {
- ws.GetInstance().Start()
- }
|