aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/app.ini2
-rw-r--r--modules/base/conf.go2
-rw-r--r--modules/middleware/auth.go2
-rw-r--r--web.go3
4 files changed, 7 insertions, 2 deletions
diff --git a/conf/app.ini b/conf/app.ini
index d38cd1f0..d4fdc0dc 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -42,6 +42,8 @@ RESET_PASSWD_CODE_LIVE_MINUTES = 180
REGISTER_EMAIL_CONFIRM = false
; Does not allow register and admin create account only
DISENABLE_REGISTERATION = false
+; User must sign in to view anything.
+REQUIRE_SIGNIN_VIEW = false
[mailer]
ENABLED = false
diff --git a/modules/base/conf.go b/modules/base/conf.go
index 42d50da4..3050b915 100644
--- a/modules/base/conf.go
+++ b/modules/base/conf.go
@@ -41,6 +41,7 @@ var (
var Service struct {
RegisterEmailConfirm bool
DisenableRegisteration bool
+ RequireSignInView bool
ActiveCodeLives int
ResetPwdCodeLives int
}
@@ -70,6 +71,7 @@ func newService() {
Service.ActiveCodeLives = Cfg.MustInt("service", "ACTIVE_CODE_LIVE_MINUTES", 180)
Service.ResetPwdCodeLives = Cfg.MustInt("service", "RESET_PASSWD_CODE_LIVE_MINUTES", 180)
Service.DisenableRegisteration = Cfg.MustBool("service", "DISENABLE_REGISTERATION", false)
+ Service.RequireSignInView = Cfg.MustBool("service", "REQUIRE_SIGNIN_VIEW", false)
}
func newLogService() {
diff --git a/modules/middleware/auth.go b/modules/middleware/auth.go
index 44033abb..f211de32 100644
--- a/modules/middleware/auth.go
+++ b/modules/middleware/auth.go
@@ -15,7 +15,7 @@ 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 {
diff --git a/web.go b/web.go
index 648cb9d7..6fe838aa 100644
--- a/web.go
+++ b/web.go
@@ -87,7 +87,8 @@ func runWeb(*cli.Context) {
m.Use(middleware.InitContext())
- reqSignIn, ignSignIn := middleware.SignInRequire(true), middleware.SignInRequire(false)
+ reqSignIn := middleware.SignInRequire(true)
+ ignSignIn := middleware.SignInRequire(base.Service.RequireSignInView)
reqSignOut := middleware.SignOutRequire()
// Routers.
m.Get("/", ignSignIn, routers.Home)