mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
ALF-679: Corrected regular expression matching logic in DefaultRemoteUserMapper
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19986 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -100,26 +100,30 @@ public class DefaultRemoteUserMapperTest extends AbstractChainedSubsystemTest
|
||||
// Set the proxy user name
|
||||
childApplicationContextFactory.stop();
|
||||
childApplicationContextFactory.setProperty("external.authentication.proxyUserName", "bob");
|
||||
|
||||
|
||||
// Mock a request with both a user and a header
|
||||
HttpServletRequest mockRequest = mock(HttpServletRequest.class);
|
||||
when(mockRequest.getRemoteUser()).thenReturn("bob");
|
||||
when(mockRequest.getHeader("X-Alfresco-Remote-User")).thenReturn("AdMiN");
|
||||
assertEquals("admin", ((RemoteUserMapper) childApplicationContextFactory.getApplicationContext().getBean(
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
|
||||
|
||||
// Now try header pattern matching
|
||||
childApplicationContextFactory.stop();
|
||||
childApplicationContextFactory.setProperty("external.authentication.userIdPattern", "abc-(.*)-999");
|
||||
when(mockRequest.getHeader("X-Alfresco-Remote-User")).thenReturn("abc-AdMiN-999");
|
||||
assertEquals("admin", ((RemoteUserMapper) childApplicationContextFactory.getApplicationContext().getBean(
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
|
||||
// Try a request with an invalid match
|
||||
when(mockRequest.getHeader("X-Alfresco-Remote-User")).thenReturn("abc-AdMiN-998");
|
||||
assertNull(((RemoteUserMapper) childApplicationContextFactory.getApplicationContext().getBean(
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
|
||||
// Try a request without the remote user
|
||||
when(mockRequest.getRemoteUser()).thenReturn(null);
|
||||
assertNull(((RemoteUserMapper) childApplicationContextFactory.getApplicationContext().getBean(
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
|
||||
"remoteUserMapper")).getRemoteUser(mockRequest));
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user