diff --git a/core/src/main/java/org/acegisecurity/taglibs/authz/AuthorizeTag.java b/core/src/main/java/org/acegisecurity/taglibs/authz/AuthorizeTag.java index b749895888..fcb39449dc 100644 --- a/core/src/main/java/org/acegisecurity/taglibs/authz/AuthorizeTag.java +++ b/core/src/main/java/org/acegisecurity/taglibs/authz/AuthorizeTag.java @@ -25,7 +25,12 @@ import org.springframework.util.StringUtils; import org.springframework.web.util.ExpressionEvaluationUtils; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.Tag; @@ -130,6 +135,11 @@ public class AuthorizeTag extends TagSupport { return Collections.EMPTY_LIST; } + if ((null == currentUser.getAuthorities()) + || (currentUser.getAuthorities().length < 1)) { + return Collections.EMPTY_LIST; + } + Collection granted = Arrays.asList(currentUser.getAuthorities()); return granted; diff --git a/doc/xdocs/changes.xml b/doc/xdocs/changes.xml index a74d4a44ad..11d0a6297f 100644 --- a/doc/xdocs/changes.xml +++ b/doc/xdocs/changes.xml @@ -28,6 +28,7 @@ Correct location of AuthenticationSimpleHttpInvokerRequestExecutor in clientContext.xml TokenBasedRememberMeServices changed to use long instead of int for tokenValiditySeconds (SPR-807) + Handle null Authentication.getAuthorities() in AuthorizeTag Add credentialsExpiredFailureUrl getter/setter to AbstractProcessingFilter Update commons-codec dependency to 1.3