Implemented login & added tests

This commit is contained in:
Philipp Czora
2018-07-09 11:38:13 +02:00
parent fbfebe1df7
commit 643e6693b6
9 changed files with 204 additions and 58 deletions

View File

@@ -0,0 +1,34 @@
package sonia.scm.api.v2.resources;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.shiro.SecurityUtils;
import sonia.scm.web.VndMediaType;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@Path(MeResource.ME_PATH_V2)
public class MeResource {
static final String ME_PATH_V2 = "v2/me/";
@GET
@Produces(VndMediaType.ME)
public Response get() {
MeDto meDto = new MeDto((String) SecurityUtils.getSubject().getPrincipals().getPrimaryPrincipal());
return Response.ok(meDto).build();
}
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
class MeDto {
String username;
}
}

View File

@@ -75,33 +75,14 @@ public class SecurityFilter extends HttpFilter
public static final String URLV2_AUTHENTICATION = "/api/rest/v2/auth";
//~--- constructors ---------------------------------------------------------
private final ScmConfiguration configuration;
/**
* Constructs ...
*
*
* @param configuration
*/
@Inject
public SecurityFilter(ScmConfiguration configuration)
{
this.configuration = configuration;
}
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
* @param request
* @param response
* @param chain
*
* @throws IOException
* @throws ServletException
*/
@Override
protected void doFilter(HttpServletRequest request,
HttpServletResponse response, FilterChain chain)
@@ -139,16 +120,6 @@ public class SecurityFilter extends HttpFilter
}
}
//~--- get methods ----------------------------------------------------------
/**
* Method description
*
*
* @param subject
*
* @return
*/
protected boolean hasPermission(Subject subject)
{
return ((configuration != null)
@@ -173,8 +144,4 @@ public class SecurityFilter extends HttpFilter
return username;
}
//~--- fields ---------------------------------------------------------------
/** scm configuration */
private final ScmConfiguration configuration;
}