本文整理汇总了Golang中github.com/blackmady/NoneCMS/app/models.Admin.GetByName方法的典型用法代码示例。如果您正苦于以下问题:Golang Admin.GetByName方法的具体用法?Golang Admin.GetByName怎么用?Golang Admin.GetByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/blackmady/NoneCMS/app/models.Admin
的用法示例。
在下文中一共展示了Admin.GetByName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Login
//登陆
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]
}
}
//.........这里部分代码省略.........