From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/wicket/AuthorizationStrategy.java | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java b/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java index e3774d8..51ae648 100644 --- a/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java +++ b/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java @@ -19,8 +19,9 @@ import org.apache.wicket.RestartResponseException; import org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener; import org.apache.wicket.authorization.strategies.page.AbstractPageAuthorizationStrategy; +import org.apache.wicket.markup.html.WebPage; -import com.gitblit.GitBlit; +import com.gitblit.IStoredSettings; import com.gitblit.Keys; import com.gitblit.models.UserModel; import com.gitblit.wicket.pages.BasePage; @@ -28,22 +29,27 @@ public class AuthorizationStrategy extends AbstractPageAuthorizationStrategy implements IUnauthorizedComponentInstantiationListener { - public AuthorizationStrategy() { + IStoredSettings settings; + Class<? extends WebPage> homepageClass; + + public AuthorizationStrategy(IStoredSettings settings, Class<? extends WebPage> homepageClass) { + this.settings = settings; + this.homepageClass = homepageClass; } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override protected boolean isPageAuthorized(Class pageClass) { - if (GitBlitWebApp.HOME_PAGE_CLASS.equals(pageClass)) { + if (homepageClass.equals(pageClass)) { // allow all requests to get to the HomePage with its inline // authentication form return true; } if (BasePage.class.isAssignableFrom(pageClass)) { - boolean authenticateView = GitBlit.getBoolean(Keys.web.authenticateViewPages, true); - boolean authenticateAdmin = GitBlit.getBoolean(Keys.web.authenticateAdminPages, true); - boolean allowAdmin = GitBlit.getBoolean(Keys.web.allowAdministration, true); + boolean authenticateView = settings.getBoolean(Keys.web.authenticateViewPages, true); + boolean authenticateAdmin = settings.getBoolean(Keys.web.authenticateAdminPages, true); + boolean allowAdmin = settings.getBoolean(Keys.web.allowAdministration, true); GitBlitWebSession session = GitBlitWebSession.get(); if (authenticateView && !session.isLoggedIn()) { @@ -79,7 +85,7 @@ public void onUnauthorizedInstantiation(Component component) { if (component instanceof BasePage) { - throw new RestartResponseException(GitBlitWebApp.HOME_PAGE_CLASS); + throw new RestartResponseException(homepageClass); } } } -- Gitblit v1.9.1