Merge pull request #205 from apache/cache-to-all
Add shiro-cache to shiro-all package
diff --git a/core/src/main/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategy.java b/core/src/main/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategy.java
index 87cb5cc..3d332f1 100644
--- a/core/src/main/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategy.java
+++ b/core/src/main/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategy.java
@@ -64,7 +64,7 @@
* otherwise.
*/
public AuthenticationInfo beforeAttempt(Realm realm, AuthenticationToken token, AuthenticationInfo aggregate) throws AuthenticationException {
- if (getStopAfterFirstSuccess() && aggregate != null && isEmpty(aggregate.getPrincipals())) {
+ if (getStopAfterFirstSuccess() && aggregate != null && !isEmpty(aggregate.getPrincipals())) {
throw new ShortCircuitIterationException();
}
return aggregate;
diff --git a/core/src/test/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategyTest.java b/core/src/test/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategyTest.java
index 68fe395..5f06566 100644
--- a/core/src/test/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategyTest.java
+++ b/core/src/test/java/org/apache/shiro/authc/pam/FirstSuccessfulStrategyTest.java
@@ -98,10 +98,22 @@
assertNull(strategy.beforeAttempt(null, null, null));
}
- @Test (expected=ShortCircuitIterationException.class)
- public void testBeforeAttemptStopAfterFirstSuccess() {
+ @Test
+ public void testBeforeAttemptEmptyPrincipal() {
AuthenticationInfo aggregate = new SimpleAuthenticationInfo();
- strategy.beforeAttempt(null, null, aggregate);
+ assertEquals(strategy.beforeAttempt(null, null, aggregate), aggregate);
}
+ @Test
+ public void testBeforeAttemptEmptyList() {
+ SimplePrincipalCollection principalCollection = new SimplePrincipalCollection();
+ AuthenticationInfo aggregate = new SimpleAuthenticationInfo(principalCollection, null);
+ assertEquals(strategy.beforeAttempt(null, null, aggregate), aggregate);
+ }
+
+ @Test (expected=ShortCircuitIterationException.class)
+ public void testBeforeAttemptStopAfterFirstSuccess() {
+ AuthenticationInfo aggregate = new SimpleAuthenticationInfo("principal", null, "a-realm-name");
+ strategy.beforeAttempt(null, null, aggregate);
+ }
}
diff --git a/pom.xml b/pom.xml
index a64d4d4..a4280e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
<commons.beanutils.version>1.9.4</commons.beanutils.version>
<commons.cli.version>1.4</commons.cli.version>
<commons.codec.version>1.13</commons.codec.version>
- <commons.configuration2.version>2.5</commons.configuration2.version>
+ <commons.configuration2.version>2.7</commons.configuration2.version>
<commons.lang3.version>3.9</commons.lang3.version>
<commons.logging.version>1.2</commons.logging.version>
<!-- Don't change this version without also changing the shiro-ehcache and shiro-features