From fc948cacef9c9b8c0a1e84cbc082ca67cd5f68d9 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 14 Apr 2011 18:29:10 -0400 Subject: [PATCH] Authenticate the webapp against the same realm as the git servlet. --- src/com/gitblit/wicket/pages/RepositoriesPage.java | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index 47d4512..3a43b0d 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -17,10 +17,11 @@ import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; +import com.gitblit.GitBlit; import com.gitblit.StoredSettings; import com.gitblit.utils.Utils; import com.gitblit.wicket.BasePage; -import com.gitblit.wicket.GitBlitWebApp; +import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.RepositoryModel; @@ -32,14 +33,22 @@ super(); setupPage("", ""); + boolean showAdmin = false; + if (StoredSettings.getBoolean("authenticateWebUI", true)) { + boolean allowAdmin = StoredSettings.getBoolean("allowAdministration", false); + showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin(); + } else { + showAdmin = StoredSettings.getBoolean("allowAdministration", false); + } + Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this); adminLinks.add(new BookmarkablePageLink<Void>("newRepository", RepositoriesPage.class)); - adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class)); - add(adminLinks.setVisible(StoredSettings.getBoolean("allowAdministration", false))); + adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class)); + add(adminLinks.setVisible(showAdmin)); add(new Label("repositoriesMessage", StoredSettings.getString("repositoriesMessage", "")).setEscapeModelStrings(false)); - List<RepositoryModel> rows = GitBlitWebApp.get().getRepositories(getRequest()); + List<RepositoryModel> rows = GitBlit.self().getRepositories(getRequest()); DataProvider dp = new DataProvider(rows); DataView<RepositoryModel> dataView = new DataView<RepositoryModel>("repository", dp) { private static final long serialVersionUID = 1L; -- Gitblit v1.9.1