From 66e4a930dcd8287b35f256eb13c8df9808efcf55 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 01 May 2014 19:58:44 -0400
Subject: [PATCH] Merged #15 "My Tickets page"
---
src/main/java/com/gitblit/wicket/AuthorizationStrategy.java | 22 ++++++++++++++--------
1 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java b/src/main/java/com/gitblit/wicket/AuthorizationStrategy.java
index e36a50e..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()) {
@@ -77,9 +83,9 @@
@Override
public void onUnauthorizedInstantiation(Component component) {
-
+
if (component instanceof BasePage) {
- throw new RestartResponseException(GitBlitWebApp.HOME_PAGE_CLASS);
+ throw new RestartResponseException(homepageClass);
}
}
}
--
Gitblit v1.9.1