use client messages

This commit is contained in:
Sebastian Sdorra
2014-03-16 11:28:09 +01:00
parent 2f9e761644
commit 9db7284f27
6 changed files with 35 additions and 32 deletions

View File

@@ -38,6 +38,7 @@ import com.google.inject.Singleton;
import org.eclipse.jgit.http.server.GitSmartHttpTools;
import sonia.scm.ClientMessages;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.repository.GitUtil;
import sonia.scm.web.filter.AutoLoginModule;
@@ -60,12 +61,6 @@ import javax.servlet.http.HttpServletResponse;
public class GitBasicAuthenticationFilter extends BasicAuthenticationFilter
{
/** Field description */
private static final String MESSAGE_FAILED_AUTHENTICATION =
"Invalid username or password.";
//~--- constructors ---------------------------------------------------------
/**
* Constructs ...
*
@@ -96,10 +91,12 @@ public class GitBasicAuthenticationFilter extends BasicAuthenticationFilter
HttpServletResponse response)
throws IOException
{
System.out.println(ClientMessages.get(request).failedAuthentication());
if (GitUtil.isGitClient(request))
{
GitSmartHttpTools.sendError(request, response,
HttpServletResponse.SC_FORBIDDEN, MESSAGE_FAILED_AUTHENTICATION);
HttpServletResponse.SC_FORBIDDEN,
ClientMessages.get(request).failedAuthentication());
}
else
{

View File

@@ -40,6 +40,7 @@ import com.google.inject.Singleton;
import org.eclipse.jgit.http.server.GitSmartHttpTools;
import sonia.scm.ClientMessages;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.repository.GitUtil;
import sonia.scm.repository.RepositoryProvider;
@@ -72,10 +73,6 @@ public class GitPermissionFilter extends ProviderPermissionFilter
/** Field description */
public static final String URI_REF_INFO = "/info/refs";
/** Field description */
private static final String MESSAGE_NOT_ENOUGH_PRIVILEGES =
"You do not have enough access privileges for this operation.";
//~--- constructors ---------------------------------------------------------
/**
@@ -110,7 +107,8 @@ public class GitPermissionFilter extends ProviderPermissionFilter
if (GitUtil.isGitClient(request))
{
GitSmartHttpTools.sendError(request, response,
HttpServletResponse.SC_FORBIDDEN, MESSAGE_NOT_ENOUGH_PRIVILEGES);
HttpServletResponse.SC_FORBIDDEN,
ClientMessages.get(request).notEnoughPrivileges());
}
else
{

View File

@@ -33,7 +33,6 @@ package sonia.scm.web;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.io.Closeables;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -44,7 +43,6 @@ import sonia.scm.web.filter.BasicAuthenticationFilter;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Set;

View File

@@ -39,18 +39,9 @@ import org.tmatesoft.svn.core.SVNErrorCode;
*
* @author Sebastian Sdorra
*/
public class ScmSvnErrorCode extends SVNErrorCode
public final class ScmSvnErrorCode extends SVNErrorCode
{
/** Field description */
public static final SVNErrorCode AUTHN_FAILED =
new ScmSvnErrorCode(AUTHN_CATEGORY, 4, "Authentication failed");
/** Field description */
public static final SVNErrorCode AUTHZ_NOT_ENOUGH_PRIVILEGES =
new ScmSvnErrorCode(AUTHZ_CATEGORY, 4,
"You do not have enough access privileges for this operation.");
/** Field description */
private static final long serialVersionUID = -6864996390796610410L;
@@ -68,4 +59,19 @@ public class ScmSvnErrorCode extends SVNErrorCode
{
super(category, index, description);
}
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
* @param description
*
* @return
*/
public static ScmSvnErrorCode authzNotEnoughPrivileges(String description)
{
return new ScmSvnErrorCode(AUTHZ_CATEGORY, 4, description);
}
}

View File

@@ -36,11 +36,9 @@ package sonia.scm.web;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import org.tmatesoft.svn.core.SVNErrorCode;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.repository.ScmSvnErrorCode;
import sonia.scm.repository.SvnUtil;
import sonia.scm.util.HttpUtil;
import sonia.scm.web.filter.AutoLoginModule;
import sonia.scm.web.filter.BasicAuthenticationFilter;
@@ -52,7 +50,6 @@ import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import sonia.scm.util.HttpUtil;
/**
*

View File

@@ -39,8 +39,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import org.tmatesoft.svn.core.SVNErrorCode;
import sonia.scm.ClientMessages;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.repository.RepositoryProvider;
import sonia.scm.repository.ScmSvnErrorCode;
@@ -102,8 +101,16 @@ public class SvnPermissionFilter extends ProviderPermissionFilter
{
if (SvnUtil.isSvnClient(request))
{
SvnUtil.sendError(request, response, HttpServletResponse.SC_FORBIDDEN,
ScmSvnErrorCode.AUTHZ_NOT_ENOUGH_PRIVILEGES);
//J-
SvnUtil.sendError(
request,
response,
HttpServletResponse.SC_FORBIDDEN,
ScmSvnErrorCode.authzNotEnoughPrivileges(
ClientMessages.get(request).notEnoughPrivileges()
)
);
//J+
}
else
{