//后台登陆 func (c *User) LoginPost() revel.Result { var username string = c.Params.Get("username") var password string = c.Params.Get("password") var verify string = c.Params.Get("verify") data := make(map[string]string) if len(username) <= 0 { data["status"] = "0" data["url"] = "/" data["info"] = "请填写用户名!" return c.RenderJson(data) } if len(password) <= 0 { data["status"] = "0" data["url"] = "/" data["info"] = "请填写密码!" return c.RenderJson(data) } if len(verify) <= 0 { data["status"] = "0" data["url"] = "/" data["info"] = "请填写验证码!" return c.RenderJson(data) } admin := new(models.Admin) admin = admin.GetByName(username) if admin.Id <= 0 { data["status"] = "0" data["url"] = "/" data["info"] = "用户名错误!" } else if username == admin.Username && lib.EncryptPassword(password) == admin.Password { c.Session["UserID"] = fmt.Sprintf("%d", admin.Id) data["status"] = "1" data["url"] = "/" data["info"] = "登陆成功!" } else { data["status"] = "0" data["url"] = "/" data["info"] = "密码错误!" } return c.RenderJson(data) }
//登陆 func (c *User) Login(admin *models.Admin) revel.Result { if c.Request.Method == "GET" { title := "登陆--GoCMS管理系统" CaptchaId := captcha.NewLen(6) return c.Render(title, CaptchaId) } else { var username string = c.Params.Get("username") var password string = c.Params.Get("password") var captchaId string = c.Params.Get("captchaId") var verify string = c.Params.Get("verify") data := make(map[string]string) if !captcha.VerifyString(captchaId, verify) { data["status"] = "0" data["url"] = "/" data["message"] = "验证码错误!" return c.RenderJson(data) } if len(username) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = "请填写用户名!" return c.RenderJson(data) } if len(password) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = "请填写密码!" return c.RenderJson(data) } if len(verify) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = "请填写验证码!" return c.RenderJson(data) } admin_info := admin.GetByName(username) if admin_info.Id <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = "用户名错误!" } else if admin_info.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = "此账号禁止登陆!" } else if admin_info.Role.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = "所属角色禁止登陆!" } else if username == admin_info.Username && utils.Md5(password) == admin_info.Password { c.Session["UserID"] = fmt.Sprintf("%d", admin_info.Id) c.Flash.Success("登陆成功!欢迎您 " + admin_info.Realname) c.Flash.Out["url"] = "/" //更新登陆时间 admin.UpdateLoginTime(admin_info.Id) //****************************************** //管理员日志 logs := new(models.Logs) desc := "登陆用户名:" + admin_info.Username + "|^|登陆系统!|^|登陆ID:" + fmt.Sprintf("%d", admin_info.Id) logs.Save(admin_info, c.Controller, desc) //***************************************** data["status"] = "1" data["url"] = "/Message/" data["message"] = "登陆成功!" } else { data["status"] = "0" data["url"] = "/" data["message"] = "密码错误!" } return c.RenderJson(data) } }
//登陆 func (c *User) Login(admin *models.Admin) revel.Result { if c.Request.Method == "GET" { title := "登陆--GoCMS管理系统" CaptchaId := captcha.NewLen(6) return c.Render(title, CaptchaId) } else { var username string = c.Params.Get("username") var password string = c.Params.Get("password") var captchaId string = c.Params.Get("captchaId") var verify string = c.Params.Get("verify") data := make(map[string]string) if LANG, ok := c.Session["Lang"]; ok { //设置语言 c.Request.Locale = LANG } else { //设置默认语言 c.Request.Locale = "zh" } if !captcha.VerifyString(captchaId, verify) { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("verification_code") return c.RenderJson(data) } if len(username) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_user_name") return c.RenderJson(data) } if len(password) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_password") return c.RenderJson(data) } if len(verify) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_verification_code") return c.RenderJson(data) } admin_info := admin.GetByName(username) if admin_info.Id <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_username_error") } else if admin_info.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_forbid_login") } else if admin_info.Role.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_forbid_role_login") } else if username == admin_info.Username && utils.Md5(password) == admin_info.Password { /* * %% 印出百分比符号,不转换。 * %c 整数转成对应的 ASCII 字元。 * %d 整数转成十进位。 * %f 倍精确度数字转成浮点数。 * %o 整数转成八进位。 * %s 整数转成字符串。 * %x 整数转成小写十六进位。 * %X 整数转成大写十六进位 */ c.Session["UserID"] = fmt.Sprintf("%d", admin_info.Id) c.Session["Lang"] = admin_info.Lang c.Flash.Success(c.Message("login_success")) c.Flash.Out["url"] = "/" //更新登陆时间 if ip := c.Request.Header.Get("X-Forwarded-For"); ip != "" { ips := strings.Split(ip, ",") if len(ips) > 0 && ips[0] != "" { rip := strings.Split(ips[0], ":") admin.Lastloginip = rip[0] } } else { ip := strings.Split(c.Request.RemoteAddr, ":") if len(ip) > 0 { if ip[0] != "[" { admin.Lastloginip = ip[0] } } } admin.UpdateLoginTime(admin_info.Id) //****************************************** //管理员日志 logs := new(models.Logs) desc := "登陆用户名:" + admin_info.Username + "|^|登陆系统!|^|登陆ID:" + fmt.Sprintf("%d", admin_info.Id) logs.Save(admin_info, c.Controller, desc) //***************************************** data["status"] = "1" data["url"] = "/Message/" data["message"] = c.Message("login_success") } else { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_password_error") } return c.RenderJson(data) } }
//登陆 func (c *User) Login(admin *models.Admin) revel.Result { if c.Request.Method == "GET" { title := "登陆--GoCMS管理系统" CaptchaId := captcha.NewLen(6) return c.Render(title, CaptchaId) } else { var username string = c.Params.Get("username") var password string = c.Params.Get("password") var captchaId string = c.Params.Get("captchaId") var verify string = c.Params.Get("verify") data := make(map[string]string) if LANG, ok := c.Session["Lang"]; ok { //设置语言 c.Request.Locale = LANG } else { //设置默认语言 c.Request.Locale = "zh" } if !captcha.VerifyString(captchaId, verify) { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("verification_code") return c.RenderJson(data) } if len(username) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_user_name") return c.RenderJson(data) } if len(password) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_password") return c.RenderJson(data) } if len(verify) <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_verification_code") return c.RenderJson(data) } admin_info := admin.GetByName(username) if admin_info.Id <= 0 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_username_error") } else if admin_info.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_forbid_login") } else if admin_info.Role.Status == 0 && admin_info.Id != 1 { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("admin_forbid_role_login") } else if username == admin_info.Username && utils.Md5(password) == admin_info.Password { c.Session["UserID"] = fmt.Sprintf("%d", admin_info.Id) c.Session["Lang"] = admin_info.Lang c.Flash.Success(c.Message("login_success")) c.Flash.Out["url"] = "/" //更新登陆时间 admin.UpdateLoginTime(admin_info.Id) //****************************************** //管理员日志 logs := new(models.Logs) desc := "登陆用户名:" + admin_info.Username + "|^|登陆系统!|^|登陆ID:" + fmt.Sprintf("%d", admin_info.Id) logs.Save(admin_info, c.Controller, desc) //***************************************** data["status"] = "1" data["url"] = "/Message/" data["message"] = c.Message("login_success") } else { data["status"] = "0" data["url"] = "/" data["message"] = c.Message("login_password_error") } return c.RenderJson(data) } }