Skip to content
Snippets Groups Projects
Commit dddd967f authored by brinn's avatar brinn
Browse files

User method tryGetAndAuthenticateUserByEmail() rather than...

User method tryGetAndAuthenticateUserByEmail() rather than listPrincipalsByEmail() in DefaultSessionManager to authenticate a user by its email address.

SVN: 28133
parent d7b98728
No related branches found
No related tags found
No related merge requests found
......@@ -593,16 +593,9 @@ public class DefaultSessionManager<T extends BasicSession> implements ISessionMa
{
final Principal p = authenticationService.tryGetAndAuthenticateUser(user, password);
if (p == null && tryEmailAsUserName && user.contains("@")
&& authenticationService.supportsListingByEmail())
&& authenticationService.supportsAuthenticatingByEmail())
{
for (Principal p2 : authenticationService.listPrincipalsByEmail(user))
{
if (authenticationService.authenticateUser(p2.getUserId(), password))
{
p2.setAuthenticated(true);
return p2;
}
}
return authenticationService.tryGetAndAuthenticateUserByEmail(user, password);
}
return p;
}
......
......@@ -20,8 +20,6 @@ import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.fail;
import java.util.Arrays;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Level;
import org.jmock.Expectations;
......@@ -169,19 +167,17 @@ public class DefaultSessionManagerTest
final String user = "bla";
final String userEmail = "bla@blub.com";
final Principal sessionPrincipal =
new Principal(user, StringUtils.EMPTY, StringUtils.EMPTY, userEmail, false);
new Principal(user, StringUtils.EMPTY, StringUtils.EMPTY, userEmail, true);
prepareRemoteHostSessionFactoryAndPrefixGenerator(user, sessionPrincipal);
context.checking(new Expectations()
{
{
one(authenticationService).tryGetAndAuthenticateUser(userEmail, "blub");
will(returnValue(null));
one(authenticationService).supportsListingByEmail();
will(returnValue(true));
one(authenticationService).listPrincipalsByEmail(userEmail);
will(returnValue(Arrays.asList(sessionPrincipal)));
one(authenticationService).authenticateUser(user, "blub");
one(authenticationService).supportsAuthenticatingByEmail();
will(returnValue(true));
one(authenticationService).tryGetAndAuthenticateUserByEmail(userEmail, "blub");
will(returnValue(sessionPrincipal));
}
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment