improve authentication

This commit is contained in:
Sebastian Sdorra
2010-09-09 18:35:54 +02:00
parent b0f637e203
commit 6a92e0e78e
7 changed files with 59 additions and 25 deletions

View File

@@ -9,6 +9,7 @@ package sonia.scm.api.rest;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.ScmState;
import sonia.scm.group.Group;
import sonia.scm.repository.Repository;
@@ -43,7 +44,7 @@ public class JsonJaxbContextResolver implements ContextResolver<JAXBContext>
{
this.context = new JSONJAXBContext(
JSONConfiguration.mapped().rootUnwrapping(true).arrays(
"member", "groups", "permissions").nonStrings(
"member", "groups", "permissions", "repositoryTypes").nonStrings(
"readable", "writeable", "groupPermission").build(), types.toArray(
new Class[0]));
}
@@ -73,5 +74,5 @@ public class JsonJaxbContextResolver implements ContextResolver<JAXBContext>
/** Field description */
private List<Class> types = Arrays.asList(new Class[] { Group.class,
Repository.class });
Repository.class, ScmState.class });
}

View File

@@ -9,9 +9,10 @@ package sonia.scm.api.rest.resources;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.repository.RepositoryType;
import sonia.scm.SCMContext;
import sonia.scm.ScmState;
import sonia.scm.User;
import sonia.scm.repository.RepositoryType;
import sonia.scm.security.Authenticator;
//~--- JDK imports ------------------------------------------------------------
@@ -41,15 +42,6 @@ import javax.ws.rs.core.Response;
public class AuthenticationResource
{
/** Field description */
private static final RepositoryType[] types = new RepositoryType[] {
new RepositoryType("hg",
"Mercurial"),
new RepositoryType("svn", "Subversion"),
new RepositoryType("git", "Git") };
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
@@ -120,7 +112,9 @@ public class AuthenticationResource
ScmState state = new ScmState();
state.setUser(user);
state.setRepositoryTypes(types);
state.setRepositoryTypes(
SCMContext.getContext().getRepositoryTypes().toArray(
new RepositoryType[0]));
return state;
}