//删除用户 func (this *UserController) Delete() { id, _ := this.GetInt("id") if id == 1 { this.showmsg("不能删除ID为1的用户") } user := models.User{Id: id} if user.Read() == nil { user.Delete() } this.Redirect("/admin/user/list", 302) }
//编辑用户 func (this *UserController) Edit() { id, _ := this.GetInt("id") user := models.User{Id: id} if err := user.Read(); err != nil { this.showmsg("用户不存在") } errmsg := make(map[string]string) if this.Ctx.Request.Method == "POST" { password := strings.TrimSpace(this.GetString("password")) password2 := strings.TrimSpace(this.GetString("password2")) email := strings.TrimSpace(this.GetString("email")) active, _ := this.GetInt("active") valid := validation.Validation{} if password != "" { if v := valid.Required(password2, "password2"); !v.Ok { errmsg["password2"] = "请再次输入密码" } else if password != password2 { errmsg["password2"] = "两次输入的密码不一致" } else { user.Password = util.Md5([]byte(password)) } } if v := valid.Required(email, "email"); !v.Ok { errmsg["email"] = "请输入email地址" } else if v := valid.Email(email, "email"); !v.Ok { errmsg["email"] = "Email无效" } else { user.Email = email } if active > 0 { user.Active = 1 } else { user.Active = 0 } if len(errmsg) == 0 { user.Update() this.Redirect("/admin/user/list", 302) } } this.Data["errmsg"] = errmsg this.Data["user"] = user this.display() }
//登录状态验证 func (this *baseController) auth() { arr := strings.Split(this.Ctx.GetCookie("auth"), "|") if len(arr) == 2 { idstr, password := arr[0], arr[1] userid, _ := strconv.Atoi(idstr) if userid > 0 { var user models.User user.Id = userid if user.Read() == nil && password == util.Md5([]byte(this.getClientIp()+"|"+user.Password)) { this.userid = user.Id this.username = user.UserName } } } if this.userid == 0 && (this.controllerName != "account" || (this.controllerName == "account" && this.actionName != "logout" && this.actionName != "login")) { this.Redirect("/admin/login", 302) } }