config option: Require sign in to view repository

This commit is contained in:
Unknown 2014-03-21 01:59:15 -04:00
parent f6596f11c4
commit 5373a3093e
4 changed files with 7 additions and 2 deletions

View file

@ -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

View file

@ -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() {

View file

@ -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 {

3
web.go
View file

@ -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)