Mercurial > hg > tc-symbol-server
changeset 33:76233e3aceb7
auth settings reworked
author | Evgeniy.Koshkin |
---|---|
date | Mon, 12 Aug 2013 20:57:13 +0400 |
parents | 2ae714d6faa5 |
children | b983676b66f9 |
files | server/resources/editSymbolsBuildFeatureParams.jsp server/resources/symbolServerSettings.jsp server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java server/src/jetbrains/buildServer/symbols/SymbolServerSettingsTab.java |
diffstat | 4 files changed, 35 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/server/resources/editSymbolsBuildFeatureParams.jsp Mon Aug 12 16:28:03 2013 +0400 +++ b/server/resources/editSymbolsBuildFeatureParams.jsp Mon Aug 12 20:57:13 2013 +0400 @@ -1,8 +1,6 @@ <%@ include file="/include-internal.jsp"%> <jsp:useBean id="isGuestEnabled" scope="request" type="java.lang.Boolean"/> -<jsp:useBean id="publicFeedUrl" scope="request" type="java.lang.String" /> -<jsp:useBean id="actualServerUrl" scope="request" type="java.lang.String" /> <table class="runnerFormTable"> <tr> @@ -11,24 +9,10 @@ </td> </tr> <tr> - <th>Symbol Server URL:</th> + <th>Sources Access:</th> <td> - <c:choose> - <c:when test="${not isGuestEnabled}"> - <div>Not available.</div> - <span class="smallNote"> - Guest user is disabled. - </span> - <span class="smallNote"> - You need to enable guest user login in TeamCity <a href="<c:url value="/admin/admin.html?item=auth"/>">Authentication Settings</a> for Symbol Server to work. - </span> - </c:when> - <c:otherwise> - <c:set var="url"><c:url value="${actualServerUrl}${publicFeedUrl}"/></c:set> - <div><a href="${url}">${url}</a></div> - <span class="smallNote">Use this URL in Visual Studio and WinDbg settings.</span> - </c:otherwise> - </c:choose> + <props:checkboxProperty name="symbols.sources-authrequired"/> + <label for="symbols.sources-authrequired">Grand access to the sources to authenticated users only.</label> </td> </tr> </table> \ No newline at end of file
--- a/server/resources/symbolServerSettings.jsp Mon Aug 12 16:28:03 2013 +0400 +++ b/server/resources/symbolServerSettings.jsp Mon Aug 12 20:57:13 2013 +0400 @@ -2,12 +2,26 @@ <jsp:useBean id="pageUrl" type="java.lang.String" scope="request"/> <jsp:useBean id="isGuestEnabled" scope="request" type="java.lang.Boolean"/> -<jsp:useBean id="publicFeedUrl" scope="request" type="java.lang.String" /> +<jsp:useBean id="publicUrl" scope="request" type="java.lang.String" /> +<jsp:useBean id="privateUrl" scope="request" type="java.lang.String" /> <jsp:useBean id="actualServerUrl" scope="request" type="java.lang.String" /> <table class="runnerFormTable"> <tr> - <th>Symbol Server URL:</th> + <td colspan="2"> + <em>Use this URL in Visual Studio and WinDbg settings.</em> + </td> + </tr> + <tr> + <th>Authenticated URL:</th> + <td> + <c:set var="url"><c:url value="${actualServerUrl}${privateUrl}"/></c:set> + <div><a href="${url}">${url}</a></div> + <span class="smallNote">Access to the url requires HTTP authentication</span> + </td> + </tr> + <tr> + <th>Public URL:</th> <td> <c:choose> <c:when test="${not isGuestEnabled}"> @@ -16,13 +30,13 @@ Guest user is disabled. </span> <span class="smallNote"> - You need to enable guest user login in TeamCity <a href="<c:url value="/admin/admin.html?item=auth"/>">Authentication Settings</a> for Symbol Server to work. + You need to enable guest user login in TeamCity <a href="<c:url value="/admin/admin.html?item=auth"/>">Authentication Settings</a> for public url to work. </span> </c:when> <c:otherwise> - <c:set var="url"><c:url value="${actualServerUrl}${publicFeedUrl}"/></c:set> + <c:set var="url"><c:url value="${actualServerUrl}${publicUrl}"/></c:set> <div><a href="${url}">${url}</a></div> - <span class="smallNote">Use this URL in Visual Studio and WinDbg settings.</span> + <span class="smallNote">No authentication is required.</span> </c:otherwise> </c:choose> </td>
--- a/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java Mon Aug 12 16:28:03 2013 +0400 +++ b/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java Mon Aug 12 20:57:13 2013 +0400 @@ -12,12 +12,15 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Map; /** * @author Evgeniy.Koshkin */ public class IndexSymbolsBuildFeature extends BuildFeature { + private static final String SOURCES_AUTH_REQUIRED_PARAM_NAME = "symbols.sources-authrequired"; + private String myEditParametersUrl; public IndexSymbolsBuildFeature(final PluginDescriptor pluginDescriptor, final WebControllerManager web, final ServerSettings serverSettings) { @@ -60,4 +63,12 @@ public String getEditParametersUrl() { return myEditParametersUrl; } + + @NotNull + @Override + public String describeParameters(@NotNull Map<String, String> params) { + return Boolean.parseBoolean(params.get(SOURCES_AUTH_REQUIRED_PARAM_NAME)) + ? "Access to the indexed sources requires HTTP authentication." + : "No authentication is required to retrieve indexed sources"; + } }
--- a/server/src/jetbrains/buildServer/symbols/SymbolServerSettingsTab.java Mon Aug 12 16:28:03 2013 +0400 +++ b/server/src/jetbrains/buildServer/symbols/SymbolServerSettingsTab.java Mon Aug 12 20:57:13 2013 +0400 @@ -69,7 +69,8 @@ super.fillModel(model, request); model.put("isGuestEnabled", myServerSettings.isGuestLoginAllowed()); model.put("actualServerUrl", WebUtil.getRootUrl(request)); - model.put("publicFeedUrl", WebUtil.GUEST_AUTH_PREFIX + SymbolsConstants.APP_SYMBOLS); + model.put("publicUrl", WebUtil.GUEST_AUTH_PREFIX + SymbolsConstants.APP_SYMBOLS); + model.put("privateUrl", WebUtil.HTTP_AUTH_PREFIX + SymbolsConstants.APP_SYMBOLS); } private boolean hasAccess() {