// Login 登录处理 func (m *ProfileController) Login() { if m.Ctx.Request.Method == "GET" { } else if m.Ctx.Request.Method == "POST" { account := strings.TrimSpace(m.GetString("account")) password := strings.TrimSpace(m.GetString("password")) remember := m.GetString("remember") // fmt.Println("account = " + account) // fmt.Println("password = "******"" && password != "" { var admin models.Admin admin.Account = account // if account == "admin" && password == "123456" { // admin.NickName = "我是管理员" // admin.LastIP = m.GetClientIP() // admin.Password = toolkit.SHA256([]byte(password)) // admin.LastTime = toolkit.GetTime() // admin.Token = toolkit.GenUID() // admin.Email = "*****@*****.**" // admin.Status = 1 // admin.Head = "default.png" // admin.Insert() // m.Redirect(beego.AppConfig.String("adminurl"), 302) // return // } if admin.Read("account") != nil || admin.Password != toolkit.SHA256([]byte(password)) { // 用户名或密码输入错误 fmt.Println("账号或密码填写错误") m.Data["errmsg"] = "账号或密码填写错误" } else { // 登录成功 token := toolkit.GenUID() admin.LastIP = m.GetClientIP() admin.LastTime = toolkit.GetTime() admin.Token = token admin.Update() key := []byte(beego.AppConfig.String("aeskey")) result, err := toolkit.AesEncrypt([]byte(m.GetClientIP()+"|"+token), key) if err != nil { return } auth := base64.StdEncoding.EncodeToString(result) fmt.Println("auth = " + auth) if remember == "yes" { m.Ctx.SetCookie("auth", auth, 7*86400) } else { m.Ctx.SetCookie("auth", auth) } m.Redirect(beego.AppConfig.String("adminurl"), 302) } } else { // 用户名或密码为空 fmt.Println("账号或密码为空") m.Data["errmsg"] = "账号或密码不能为空" } } m.TplName = beego.AppConfig.String("adminpath") + "/login.html" }