user_controller.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package ldap
  2. import (
  3. "nginx-ui/server/controllers"
  4. "nginx-ui/server/models"
  5. ngx "nginx-ui/server/nginx"
  6. "nginx-ui/server/vo"
  7. )
  8. type UserController struct {
  9. controllers.BaseController
  10. }
  11. func (c *UserController) Login() {
  12. req := LDAPLoginReq{}
  13. if c.ReadBody(req) == false {
  14. return
  15. }
  16. user, err := ServiceInstance.Login(&req)
  17. if err != nil {
  18. c.ErrorJson(err)
  19. return
  20. }
  21. user.Password = ""
  22. c.SetSession("user", user)
  23. c.PostJson(models.SuccessResp(user))
  24. }
  25. // SyncUsers 同步用户信息
  26. // post /ldap/user/sync
  27. func (c *UserController) SyncUsers() {
  28. current := c.RequiredUser()
  29. if current == nil {
  30. return
  31. }
  32. req := LDAPUserSyncReq{}
  33. if !c.ReadBody(req) {
  34. return
  35. }
  36. count, err := ServiceInstance.SyncUsers(current, &req)
  37. if err != nil {
  38. c.ErrorJson(err)
  39. return
  40. }
  41. resp := make(map[string]interface{})
  42. resp["count"] = count
  43. c.SetData(resp).Json()
  44. }
  45. // UpdateUserPassword 更新用户密码
  46. // post /ldap/user/modifyPassword
  47. func (c *UserController) UpdateUserPassword() {
  48. nginx, err := c.CheckNginxPermission()
  49. if err != nil {
  50. return
  51. }
  52. instance := ngx.GetInstance(nginx)
  53. err = instance.Start()
  54. isRun, msg := instance.Status()
  55. c.SetData(isRun).SetMsg(msg).Json()
  56. }
  57. // UpdateUser 更新用户信息或者新增用户
  58. // post /ldap/user/save
  59. func (c *UserController) UpdateUser() {
  60. }
  61. // GetUsers 获取全部用户
  62. // get /ldap/users
  63. func (c *UserController) GetUsers() {
  64. current := c.RequiredUser()
  65. if current == nil {
  66. return
  67. }
  68. req := vo.PageReq{}
  69. if !c.ReadBody(req) {
  70. return
  71. }
  72. resp, err := ServiceInstance.GetUsers(current, &req)
  73. if err != nil {
  74. c.ErrorJson(err)
  75. return
  76. }
  77. c.SetData(resp).Json()
  78. }