boot.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package boot
  2. import (
  3. "gfast/library/service"
  4. "github.com/goflyfox/gtoken/gtoken"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/os/glog"
  7. )
  8. var AdminGfToken *gtoken.GfToken
  9. func init() {
  10. g.Log().SetFlags(glog.F_ASYNC | glog.F_TIME_DATE | glog.F_TIME_TIME | glog.F_FILE_LONG)
  11. g.Server().SetPort(8200)
  12. g.Server().AddStaticPath("/public", g.Cfg().GetString("server.ServerRoot"))
  13. //后台初始化配置
  14. initAdmin()
  15. }
  16. func initAdmin() {
  17. //无需验证权限的用户id
  18. service.NotCheckAuthAdminIds = g.Cfg().GetInts("adminInfo.notCheckAuthAdminIds")
  19. //后端分页长度配置
  20. service.AdminPageNum = g.Cfg().GetInt("adminInfo.pageNum")
  21. // 设置并启动后台gtoken处理
  22. initAdminGfToken()
  23. }
  24. func initAdminGfToken() {
  25. //多端登陆配置
  26. service.AdminMultiLogin = g.Cfg().GetBool("gToken.MultiLogin")
  27. AdminGfToken = &gtoken.GfToken{
  28. CacheMode: g.Cfg().GetInt8("gToken.CacheMode"),
  29. CacheKey: g.Cfg().GetString("gToken.CacheKey"),
  30. Timeout: g.Cfg().GetInt("gToken.Timeout"),
  31. MaxRefresh: g.Cfg().GetInt("gToken.MaxRefresh"),
  32. TokenDelimiter: g.Cfg().GetString("gToken.TokenDelimiter"),
  33. EncryptKey: g.Cfg().GetBytes("gToken.EncryptKey"),
  34. AuthFailMsg: g.Cfg().GetString("gToken.AuthFailMsg"),
  35. MultiLogin: service.AdminMultiLogin,
  36. LoginPath: "/sysLogin/login",
  37. LoginBeforeFunc: service.AdminLogin,
  38. LoginAfterFunc: service.AdminLoginAfter,
  39. LogoutPath: "/sysLogin/logout",
  40. AuthPaths: g.SliceStr{"/system/*"},
  41. AuthAfterFunc: service.AuthAfterFunc,
  42. LogoutBeforeFunc: service.AdminLoginOut,
  43. }
  44. AdminGfToken.Start()
  45. }