MCPcopy
hub / github.com/deepops-ai/deepops / Login

Function Login

backend/internal/user/login.go:41–75  ·  view source on GitHub ↗

Login ...

(c *gin.Context)

Source from the content-addressed store, hash-verified

39
40// Login ...
41func Login(c *gin.Context) {
42 var lm = &LoginModel{}
43 c.Bind(&lm)
44
45 username := lm.Username
46 password := lm.Password
47
48 logger.Info("User loged in", "username", username)
49
50 user, err := models.QueryUserByName(username)
51 if err != nil {
52 logger.Warn("query user error", "error", err)
53 c.JSON(500, common.RespInternalError())
54 return
55 }
56
57 if user.Id == 0 {
58 c.JSON(400, common.RespError(e.UserNotExist))
59 return
60 }
61
62 // admin can reset password to empty
63 if username == models.SuperAdminUsername && password == "" && password == user.Password {
64
65 } else {
66 encodedPassword, _ := utils.EncodePassword(password, user.Salt)
67
68 if encodedPassword != user.Password {
69 c.JSON(http.StatusForbidden, common.RespError(e.PasswordIncorrect))
70 return
71 }
72 }
73
74 login(user, c)
75}
76
77func login(user *models.User, c *gin.Context) {
78 if config.Data.User.EnableMultiLogin {

Callers

nothing calls this directly

Calls 2

loginFunction · 0.70
InfoMethod · 0.65

Tested by

no test coverage detected