main.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package main
  2. import (
  3. "context"
  4. "dashoo.cn/micro/app/handler"
  5. "dashoo.cn/opms_libary/micro_srv"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/smallnest/rpcx/protocol"
  8. )
  9. func main() {
  10. srvAddr := g.Config().GetString("setting.bind-addr")
  11. basePath := g.Config().GetString("setting.srv-name")
  12. // 创建总服务包
  13. s := micro_srv.CreateAndInitService(basePath)
  14. // 注册服务对象
  15. s.RegisterName("Dict", new(handler.DictHandler), "")
  16. s.RegisterName("Auth", new(handler.AuthHandler), "")
  17. s.RegisterName("User", new(handler.UserHandler), "")
  18. s.RegisterName("Menu", new(handler.MenuHandler), "")
  19. s.RegisterName("Dept", new(handler.DeptHandler), "")
  20. s.RegisterName("Role", new(handler.RoleHandler), "")
  21. s.RegisterName("Post", new(handler.PostHandler), "")
  22. s.RegisterName("Group", new(handler.GroupHandler), "")
  23. s.RegisterName("LoginLog", new(handler.LoginLogHandler), "")
  24. // 注册文件处理Service对象
  25. //dynamic.BeanFactory.BeanRegister(service.NewRoleService())
  26. // 注册auth处理
  27. s.AuthFunc = handleAuth
  28. // 运行服务
  29. if err := s.Serve("tcp", srvAddr); err != nil {
  30. g.Log().Fatal(err)
  31. }
  32. }
  33. // AuthExcludePaths 设定不需要认证的路径
  34. var AuthExcludePaths = []string{
  35. "/Auth/Login",
  36. "/Auth/ValidToken",
  37. "/Role/GetRoleList",
  38. "/Common/GetCaptchaImg",
  39. "/Model/*",
  40. "/Organize/GetOrgTreeList",
  41. "/User/SendResetPasswordEmail",
  42. "/User/ResetPasswordFromEmail",
  43. }
  44. // 处理Auth
  45. func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
  46. ctx = context.WithValue(ctx, "NotAuthSrv", true)
  47. // token拦截器
  48. err := micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths)
  49. return err
  50. }