|
@@ -6,6 +6,7 @@ package user
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
+ "net/url"
|
|
|
"strings"
|
|
|
|
|
|
"github.com/codegangsta/martini"
|
|
@@ -109,7 +110,13 @@ func SignIn(ctx *middleware.Context, form auth.LogInForm) {
|
|
|
isSucceed = true
|
|
|
ctx.Session.Set("userId", user.Id)
|
|
|
ctx.Session.Set("userName", user.Name)
|
|
|
- ctx.Redirect("/")
|
|
|
+ redirectTo, _ := url.QueryUnescape(ctx.GetCookie("redirect_to"))
|
|
|
+ if len(redirectTo) > 0 {
|
|
|
+ ctx.SetCookie("redirect_to", "", -1)
|
|
|
+ ctx.Redirect(redirectTo)
|
|
|
+ } else {
|
|
|
+ ctx.Redirect("/")
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -139,12 +146,20 @@ func SignIn(ctx *middleware.Context, form auth.LogInForm) {
|
|
|
|
|
|
ctx.Session.Set("userId", user.Id)
|
|
|
ctx.Session.Set("userName", user.Name)
|
|
|
- ctx.Redirect("/")
|
|
|
+ redirectTo, _ := url.QueryUnescape(ctx.GetCookie("redirect_to"))
|
|
|
+ if len(redirectTo) > 0 {
|
|
|
+ ctx.SetCookie("redirect_to", "", -1)
|
|
|
+ ctx.Redirect(redirectTo)
|
|
|
+ } else {
|
|
|
+ ctx.Redirect("/")
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
func SignOut(ctx *middleware.Context) {
|
|
|
ctx.Session.Delete("userId")
|
|
|
ctx.Session.Delete("userName")
|
|
|
+ ctx.SetCookie(base.CookieUserName, "", -1)
|
|
|
+ ctx.SetCookie(base.CookieRememberName, "", -1)
|
|
|
ctx.Redirect("/")
|
|
|
}
|
|
|
|
|
@@ -314,7 +329,7 @@ func Activate(ctx *middleware.Context) {
|
|
|
|
|
|
ctx.Session.Set("userId", user.Id)
|
|
|
ctx.Session.Set("userName", user.Name)
|
|
|
- ctx.Redirect("/", 302)
|
|
|
+ ctx.Redirect("/")
|
|
|
return
|
|
|
}
|
|
|
|