aboutsummaryrefslogtreecommitdiff
path: root/modules/middleware/auth.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-22 00:50:47 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-22 00:50:47 +0800
commit17da2fd2e30e85909394bc58069ecab14d8d8577 (patch)
treed80e786818d20aed12b7a84f6a9961468a7f70ec /modules/middleware/auth.go
parentefdaf6ee1536f043d9e242dc16a096c99ec1bfda (diff)
parentf219ddcf4ef13b9d5de129da4eb2b56dbc899d61 (diff)
merged
Diffstat (limited to 'modules/middleware/auth.go')
-rw-r--r--modules/middleware/auth.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/modules/middleware/auth.go b/modules/middleware/auth.go
index d45a21e9..f211de32 100644
--- a/modules/middleware/auth.go
+++ b/modules/middleware/auth.go
@@ -15,12 +15,12 @@ func SignInRequire(redirect bool) martini.Handler {
return func(ctx *Context) {
if !ctx.IsSigned {
if redirect {
- ctx.Redirect("/")
+ ctx.Redirect("/user/login")
}
return
} else if !ctx.User.IsActive && base.Service.RegisterEmailConfirm {
ctx.Data["Title"] = "Activate Your Account"
- ctx.Render.HTML(200, "user/active", ctx.Data)
+ ctx.HTML(200, "user/active")
return
}
}
@@ -31,6 +31,18 @@ func SignOutRequire() martini.Handler {
return func(ctx *Context) {
if ctx.IsSigned {
ctx.Redirect("/")
+ return
+ }
+ }
+}
+
+// AdminRequire requires user signed in as administor.
+func AdminRequire() martini.Handler {
+ return func(ctx *Context) {
+ if !ctx.User.IsAdmin {
+ ctx.Error(403)
+ return
}
+ ctx.Data["PageIsAdmin"] = true
}
}