From b55030a765f040a15609c60d3f69b6cb7f00bdae Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 16 Apr 2011 09:27:57 -0400
Subject: [PATCH] More flexible authentication.  Anonymous view, authenticated admin.

---
 src/com/gitblit/wicket/GitBlitWebApp.java |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/com/gitblit/wicket/GitBlitWebApp.java b/src/com/gitblit/wicket/GitBlitWebApp.java
index b70c95f..29d6b51 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/com/gitblit/wicket/GitBlitWebApp.java
@@ -35,7 +35,8 @@
 		super.init();
 
 		// Setup page authorization mechanism
-		if (GitBlit.self().settings().getBoolean(Keys.web.authenticate, false)) {
+		boolean useAuthentication = GitBlit.self().settings().getBoolean(Keys.web.authenticateViewPages, false) || GitBlit.self().settings().getBoolean(Keys.web.authenticateAdminPages, false);
+		if (useAuthentication) {
 			AuthorizationStrategy authStrategy = new AuthorizationStrategy();
 			getSecuritySettings().setAuthorizationStrategy(authStrategy);
 			getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy);
@@ -65,7 +66,7 @@
 		mount(new MixedParamUrlCodingStrategy("/ticgittkt", TicGitTicketPage.class, new String[] { "r", "h", "f" }));
 
 		// setup login/logout urls, if we are using authentication
-		if (GitBlit.self().settings().getBoolean(Keys.web.authenticate, true)) {
+		if (useAuthentication) {
 			mount(new MixedParamUrlCodingStrategy("/login", LoginPage.class, new String[] {}));
 			mount(new MixedParamUrlCodingStrategy("/logout", LogoutPage.class, new String[] {}));
 		}

--
Gitblit v1.9.1