mirror of https://github.com/mindoc-org/mindoc.git
feat:优化登录跳转
parent
cbe03642b4
commit
f9a214199d
|
@ -20,6 +20,14 @@ type AccountController struct {
|
||||||
BaseController
|
BaseController
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *AccountController) referer() string {
|
||||||
|
u, _ := url.PathUnescape(c.GetString("url"))
|
||||||
|
if u == "" {
|
||||||
|
u = conf.URLFor("HomeController.Index")
|
||||||
|
}
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
func (c *AccountController) Prepare() {
|
func (c *AccountController) Prepare() {
|
||||||
c.BaseController.Prepare()
|
c.BaseController.Prepare()
|
||||||
c.EnableXSRF = true
|
c.EnableXSRF = true
|
||||||
|
@ -111,41 +119,23 @@ func (c *AccountController) Login() {
|
||||||
c.SetSecureCookie(conf.GetAppKey(), "login", v, time.Now().Add(time.Hour * 24 * 30).Unix())
|
c.SetSecureCookie(conf.GetAppKey(), "login", v, time.Now().Add(time.Hour * 24 * 30).Unix())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
u, _ := url.PathUnescape(c.GetString("url"))
|
|
||||||
if u == "" {
|
|
||||||
u = c.Ctx.Request.Header.Get("Referer")
|
|
||||||
}
|
|
||||||
if u == "" {
|
|
||||||
u = conf.URLFor("HomeController.Index")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.JsonResult(0, "ok", u)
|
c.JsonResult(0, "ok", c.referer())
|
||||||
} else {
|
} else {
|
||||||
beego.Error("用户登录 ->", err)
|
beego.Error("用户登录 ->", err)
|
||||||
c.JsonResult(500, "账号或密码错误", nil)
|
c.JsonResult(500, "账号或密码错误", nil)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
u, _ := url.PathUnescape(c.GetString("url"))
|
c.Data["url"] = c.referer()
|
||||||
if u == "" {
|
|
||||||
u = c.Ctx.Request.Header.Get("Referer")
|
|
||||||
}
|
|
||||||
if u == "" {
|
|
||||||
u = conf.URLFor("HomeController.Index")
|
|
||||||
}
|
|
||||||
c.Data["url"] = url.PathEscape(u)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登录成功后的操作,如重定向到原始请求页面
|
// 登录成功后的操作,如重定向到原始请求页面
|
||||||
func (c *AccountController) LoggedIn(isPost bool) interface{} {
|
func (c *AccountController) LoggedIn(isPost bool) interface{} {
|
||||||
|
|
||||||
turl := c.GetString("url")
|
turl := c.referer()
|
||||||
|
|
||||||
if !isPost {
|
if !isPost {
|
||||||
// 检查是否存在 turl 参数,如果有则重定向至 turl 处,否则进入 Home 页面
|
|
||||||
if turl == "" {
|
|
||||||
turl = conf.URLFor("HomeController.Index")
|
|
||||||
}
|
|
||||||
c.Redirect(turl, 302)
|
c.Redirect(turl, 302)
|
||||||
return nil
|
return nil
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue