Rename classes

This commit is contained in:
René Pfeuffer
2018-11-13 10:52:42 +01:00
parent 716b49a039
commit de17902fed
4 changed files with 19 additions and 41 deletions

View File

@@ -301,7 +301,7 @@ public class AuthenticationFilter extends HttpFilter
} }
} }
chain.doFilter(new SecurityHttpServletRequestWrapper(request, username), chain.doFilter(new PropagatePrincipleServletRequestWrapper(request, username),
response); response);
} }

View File

@@ -38,37 +38,17 @@ package sonia.scm.web.filter;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletRequestWrapper;
/** public class PropagatePrincipleServletRequestWrapper extends HttpServletRequestWrapper {
*
* @author Sebastian Sdorra
*/
public class SecurityHttpServletRequestWrapper extends HttpServletRequestWrapper
{
/** private final String principal;
* Constructs ...
* public PropagatePrincipleServletRequestWrapper(HttpServletRequest request, String principal) {
*
* @param request
* @param principal
*/
public SecurityHttpServletRequestWrapper(HttpServletRequest request,
String principal)
{
super(request); super(request);
this.principal = principal; this.principal = principal;
} }
//~--- get methods ----------------------------------------------------------
@Override @Override
public String getRemoteUser() public String getRemoteUser() {
{
return principal; return principal;
} }
//~--- fields ---------------------------------------------------------------
/** Field description */
private final String principal;
} }

View File

@@ -42,9 +42,8 @@ import org.apache.shiro.subject.Subject;
import sonia.scm.Priority; import sonia.scm.Priority;
import sonia.scm.SCMContext; import sonia.scm.SCMContext;
import sonia.scm.config.ScmConfiguration; import sonia.scm.config.ScmConfiguration;
import sonia.scm.security.SecurityRequests;
import sonia.scm.web.filter.HttpFilter; import sonia.scm.web.filter.HttpFilter;
import sonia.scm.web.filter.SecurityHttpServletRequestWrapper; import sonia.scm.web.filter.PropagatePrincipleServletRequestWrapper;
import javax.servlet.FilterChain; import javax.servlet.FilterChain;
import javax.servlet.ServletException; import javax.servlet.ServletException;
@@ -61,9 +60,8 @@ import static sonia.scm.api.v2.resources.ScmPathInfo.REST_API_PATH;
* @author Sebastian Sdorra * @author Sebastian Sdorra
*/ */
@Priority(Filters.PRIORITY_AUTHORIZATION) @Priority(Filters.PRIORITY_AUTHORIZATION)
// TODO find a better way for unprotected resources
@WebElement(value = REST_API_PATH + "/(?!v2/ui).*", regex = true) @WebElement(value = REST_API_PATH + "/(?!v2/ui).*", regex = true)
public class SecurityFilter extends HttpFilter public class PropagatePrincipleFilter extends HttpFilter
{ {
/** name of request attribute for the primary principal */ /** name of request attribute for the primary principal */
@@ -73,7 +71,7 @@ public class SecurityFilter extends HttpFilter
private final ScmConfiguration configuration; private final ScmConfiguration configuration;
@Inject @Inject
public SecurityFilter(ScmConfiguration configuration) public PropagatePrincipleFilter(ScmConfiguration configuration)
{ {
this.configuration = configuration; this.configuration = configuration;
} }
@@ -92,7 +90,7 @@ public class SecurityFilter extends HttpFilter
request.setAttribute(ATTRIBUTE_REMOTE_USER, username); request.setAttribute(ATTRIBUTE_REMOTE_USER, username);
// wrap servlet request to provide authentication information // wrap servlet request to provide authentication information
chain.doFilter(new SecurityHttpServletRequestWrapper(request, username), response); chain.doFilter(new PropagatePrincipleServletRequestWrapper(request, username), response);
} }
else else
{ {

View File

@@ -58,13 +58,13 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
/** /**
* Unit tests for {@link SecurityFilter}. * Unit tests for {@link PropagatePrincipleFilter}.
* *
* @author Sebastian Sdorra * @author Sebastian Sdorra
*/ */
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
@SubjectAware(configuration = "classpath:sonia/scm/shiro-001.ini") @SubjectAware(configuration = "classpath:sonia/scm/shiro-001.ini")
public class SecurityFilterTest { public class PropagatePrincipleFilterTest {
@Mock @Mock
private HttpServletRequest request; private HttpServletRequest request;
@@ -83,7 +83,7 @@ public class SecurityFilterTest {
private ScmConfiguration configuration; private ScmConfiguration configuration;
private SecurityFilter securityFilter; private PropagatePrincipleFilter propagatePrincipleFilter;
@Rule @Rule
public ShiroRule shiro = new ShiroRule(); public ShiroRule shiro = new ShiroRule();
@@ -94,7 +94,7 @@ public class SecurityFilterTest {
@Before @Before
public void setUp(){ public void setUp(){
this.configuration = new ScmConfiguration(); this.configuration = new ScmConfiguration();
this.securityFilter = new SecurityFilter(configuration); this.propagatePrincipleFilter = new PropagatePrincipleFilter(configuration);
} }
/** /**
@@ -105,7 +105,7 @@ public class SecurityFilterTest {
*/ */
@Test @Test
public void testAnonymous() throws IOException, ServletException { public void testAnonymous() throws IOException, ServletException {
securityFilter.doFilter(request, response, chain); propagatePrincipleFilter.doFilter(request, response, chain);
response.sendError(HttpServletResponse.SC_FORBIDDEN); response.sendError(HttpServletResponse.SC_FORBIDDEN);
} }
@@ -120,10 +120,10 @@ public class SecurityFilterTest {
configuration.setAnonymousAccessEnabled(true); configuration.setAnonymousAccessEnabled(true);
// execute // execute
securityFilter.doFilter(request, response, chain); propagatePrincipleFilter.doFilter(request, response, chain);
// verify and capture // verify and capture
verify(request).setAttribute(SecurityFilter.ATTRIBUTE_REMOTE_USER, SCMContext.USER_ANONYMOUS); verify(request).setAttribute(PropagatePrincipleFilter.ATTRIBUTE_REMOTE_USER, SCMContext.USER_ANONYMOUS);
verify(chain).doFilter(requestCaptor.capture(), responseCaptor.capture()); verify(chain).doFilter(requestCaptor.capture(), responseCaptor.capture());
// assert // assert
@@ -142,10 +142,10 @@ public class SecurityFilterTest {
authenticateUser(UserTestData.createTrillian()); authenticateUser(UserTestData.createTrillian());
// execute // execute
securityFilter.doFilter(request, response, chain); propagatePrincipleFilter.doFilter(request, response, chain);
// verify and capture // verify and capture
verify(request).setAttribute(SecurityFilter.ATTRIBUTE_REMOTE_USER, "trillian"); verify(request).setAttribute(PropagatePrincipleFilter.ATTRIBUTE_REMOTE_USER, "trillian");
verify(chain).doFilter(requestCaptor.capture(), responseCaptor.capture()); verify(chain).doFilter(requestCaptor.capture(), responseCaptor.capture());
// assert // assert