本文整理匯總了Golang中blog/models.User類的典型用法代碼示例。如果您正苦於以下問題:Golang User類的具體用法?Golang User怎麽用?Golang User使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了User類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Post
func (this *LoginController) Post() {
this.TplNames = "login.tpl"
this.Ctx.Request.ParseForm()
username := this.Ctx.Request.Form.Get("username")
password := this.Ctx.Request.Form.Get("password")
md5Password := md5.New()
io.WriteString(md5Password, password)
buffer := bytes.NewBuffer(nil)
fmt.Fprintf(buffer, "%x", md5Password.Sum(nil))
newPass := buffer.String()
now := time.Now().Format("2006-01-02 15:04:05")
userInfo := models.GetUserInfo(username)
if userInfo.Password == newPass {
var users models.User
users.Last_logintime = now
models.UpdateUserInfo(users)
//登錄成功設置session
sess := globalSessions.SessionStart(this.Ctx.ResponseWriter, this.Ctx.Request)
sess.Set("uid", userInfo.Id)
sess.Set("uname", userInfo.Username)
this.Ctx.Redirect(302, "/")
}
this.Ctx.Redirect(302, "/")
}
示例2: Reg
func (this *UserController) Reg() {
beego.Info("register controller")
result := make(map[string]interface{})
result["succ"] = "succ"
email := this.GetString("email")
pwd := this.GetString("pwd")
beego.Info(email)
beego.Info(pwd)
u := new(models.User)
u.Email = email
u.Pwd = helper.MD5(pwd)
u.Reged = time.Now()
u.Uname = email
id, err := models.SaveUser(u)
if err != nil {
beego.Error(err)
result["succ"] = "err"
} else {
result["id"] = u.Pwd
result["email"] = email
}
this.SetSession("online_user", "u_"+strconv.FormatInt(id, 10))
this.SetSession("online_user_email", email)
this.Data["json"] = result
this.ServeJson()
}
示例3: Login
//登錄
func (this *AccountController) Login() {
if this.GetString("dosubmit") == "yes" {
account := strings.TrimSpace(this.GetString("account"))
password := strings.TrimSpace(this.GetString("password"))
remember := this.GetString("remember")
if account != "" && password != "" {
var user models.User
user.Username = account
if user.Read("username") != nil || user.Password != models.Md5([]byte(password)) {
this.Data["errmsg"] = "帳號或密碼錯誤"
} else if user.Active == 0 {
this.Data["errmsg"] = "該帳號未激活"
} else {
user.Logincount += 1
user.Lastip = this.getClientIp()
user.Lastlogin = this.getTime()
user.Update()
authkey := models.Md5([]byte(this.getClientIp() + "|" + user.Password))
if remember == "yes" {
this.Ctx.SetCookie("auth", strconv.FormatInt(user.Id, 10)+"|"+authkey, 7*86400)
} else {
this.Ctx.SetCookie("auth", strconv.FormatInt(user.Id, 10)+"|"+authkey)
}
this.Redirect("/admin", 302)
}
}
}
this.TplName = "admin/account_login.html"
}
示例4: Delete
//刪除用戶
func (this *UserController) Delete() {
id, _ := this.GetInt64("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)
}
示例5: Post
func (this *RegController) Post() {
this.TplNames = "reg.tpl"
this.Ctx.Request.ParseForm()
username := this.Ctx.Request.Form.Get("username")
password := this.Ctx.Request.Form.Get("password")
usererr := checkUsername(username)
fmt.Println(usererr)
if usererr == false {
this.Data["UsernameErr"] = "Username error, Please to again"
return
}
passerr := checkPassword(password)
if passerr == false {
this.Data["PasswordErr"] = "Password error, Please to again"
return
}
md5Password := md5.New()
io.WriteString(md5Password, password)
buffer := bytes.NewBuffer(nil)
fmt.Fprintf(buffer, "%x", md5Password.Sum(nil))
newPass := buffer.String()
now := time.Now().Format("2006-01-02 15:04:05")
userInfo := models.GetUserInfo(username)
if userInfo.Username == "" {
var users models.User
users.Username = username
users.Password = newPass
users.Created = now
users.Last_logintime = now
models.AddUser(users)
//登錄成功設置session
sess := globalSessions.SessionStart(this.Ctx.ResponseWriter, this.Ctx.Request)
sess.Set("uid", userInfo.Id)
sess.Set("uname", userInfo.Username)
this.Ctx.Redirect(302, "/")
} else {
this.Data["UsernameErr"] = "User already exists"
}
}
示例6: Edit
//編輯用戶
func (this *UserController) Edit() {
id, _ := this.GetInt64("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.GetInt64("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 = models.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()
}
示例7: List
//用戶列表
func (this *UserController) List() {
var page int64
var pagesize int64 = 10
var list []*models.User
var user models.User
if page, _ = this.GetInt64("page"); page < 1 {
page = 1
}
offset := (page - 1) * pagesize
count, _ := user.Query().Count()
if count > 0 {
user.Query().OrderBy("-id").Limit(pagesize, offset).All(&list)
}
this.Data["list"] = list
this.Data["pagebar"] = models.NewPager(page, count, pagesize, "/admin/user/list?page=%d").ToString()
this.display()
}
示例8: Profile
//資料修改
func (this *AccountController) Profile() {
user := models.User{Id: this.userid}
if err := user.Read(); err != nil {
this.showmsg(err.Error())
}
if this.Ctx.Request.Method == "POST" {
errmsg := make(map[string]string)
password := strings.TrimSpace(this.GetString("password"))
newpassword := strings.TrimSpace(this.GetString("newpassword"))
newpassword2 := strings.TrimSpace(this.GetString("newpassword2"))
updated := false
if newpassword != "" {
if password == "" || models.Md5([]byte(password)) != user.Password {
errmsg["password"] = "當前密碼錯誤"
} else if len(newpassword) < 6 {
errmsg["newpassword"] = "密碼長度不能少於6個字符"
} else if newpassword != newpassword2 {
errmsg["newpassword2"] = "兩次輸入的密碼不一致"
}
if len(errmsg) == 0 {
user.Password = models.Md5([]byte(newpassword))
user.Update("password")
updated = true
}
}
this.Data["updated"] = updated
this.Data["errmsg"] = errmsg
}
this.Data["user"] = user
this.display()
}
示例9: auth
//登錄狀態驗證
func (this *baseController) auth() {
if this.controllerName == "account" && (this.actionName == "login" || this.actionName == "logout") {
} else {
arr := strings.Split(this.Ctx.GetCookie("auth"), "|")
if len(arr) == 2 {
idstr, password := arr[0], arr[1]
userid, _ := strconv.ParseInt(idstr, 10, 0)
if userid > 0 {
var user models.User
user.Id = userid
if user.Read() == nil && password == models.Md5([]byte(this.getClientIp()+"|"+user.Password)) {
this.userid = user.Id
this.username = user.Username
}
}
}
if this.userid == 0 {
this.Redirect("/admin/login", 302)
}
}
}
示例10: Add
//添加用戶
func (this *UserController) Add() {
input := make(map[string]string)
errmsg := make(map[string]string)
if this.Ctx.Request.Method == "POST" {
username := strings.TrimSpace(this.GetString("username"))
password := strings.TrimSpace(this.GetString("password"))
password2 := strings.TrimSpace(this.GetString("password2"))
email := strings.TrimSpace(this.GetString("email"))
active, _ := this.GetInt64("active")
input["username"] = username
input["password"] = password
input["password2"] = password2
input["email"] = email
valid := validation.Validation{}
if v := valid.Required(username, "username"); !v.Ok {
errmsg["username"] = "請輸入用戶名"
} else if v := valid.MaxSize(username, 15, "username"); !v.Ok {
errmsg["username"] = "用戶名長度不能大於15個字符"
}
if v := valid.Required(password, "password"); !v.Ok {
errmsg["password"] = "請輸入密碼"
}
if v := valid.Required(password2, "password2"); !v.Ok {
errmsg["password2"] = "請再次輸入密碼"
} else if password != password2 {
errmsg["password2"] = "兩次輸入的密碼不一致"
}
if v := valid.Required(email, "email"); !v.Ok {
errmsg["email"] = "請輸入email地址"
} else if v := valid.Email(email, "email"); !v.Ok {
errmsg["email"] = "Email無效"
}
if active > 0 {
active = 1
} else {
active = 0
}
if len(errmsg) == 0 {
var user models.User
user.Username = username
user.Password = models.Md5([]byte(password))
user.Email = email
user.Active = int8(active)
if err := user.Insert(); err != nil {
this.showmsg(err.Error())
}
this.Redirect("/admin/user/list", 302)
}
}
this.Data["input"] = input
this.Data["errmsg"] = errmsg
this.display()
}