|
@@ -1,15 +1,12 @@
|
|
package org.springframework.security.ui.preauth;
|
|
package org.springframework.security.ui.preauth;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
import org.springframework.security.ui.WebAuthenticationDetails;
|
|
import org.springframework.security.ui.WebAuthenticationDetails;
|
|
|
|
+import org.springframework.security.GrantedAuthoritiesContainerImpl;
|
|
import org.springframework.security.GrantedAuthority;
|
|
import org.springframework.security.GrantedAuthority;
|
|
import org.springframework.security.MutableGrantedAuthoritiesContainer;
|
|
import org.springframework.security.MutableGrantedAuthoritiesContainer;
|
|
|
|
|
|
-import org.springframework.util.Assert;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* This WebAuthenticationDetails implementation allows for storing a list of
|
|
* This WebAuthenticationDetails implementation allows for storing a list of
|
|
* pre-authenticated Granted Authorities.
|
|
* pre-authenticated Granted Authorities.
|
|
@@ -22,28 +19,24 @@ public class PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails extends
|
|
MutableGrantedAuthoritiesContainer {
|
|
MutableGrantedAuthoritiesContainer {
|
|
public static final long serialVersionUID = 1L;
|
|
public static final long serialVersionUID = 1L;
|
|
|
|
|
|
- private GrantedAuthority[] preAuthenticatedGrantedAuthorities = null;
|
|
|
|
|
|
+ private MutableGrantedAuthoritiesContainer authoritiesContainer = new GrantedAuthoritiesContainerImpl();
|
|
|
|
|
|
public PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails(HttpServletRequest request) {
|
|
public PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails(HttpServletRequest request) {
|
|
super(request);
|
|
super(request);
|
|
}
|
|
}
|
|
|
|
|
|
public GrantedAuthority[] getGrantedAuthorities() {
|
|
public GrantedAuthority[] getGrantedAuthorities() {
|
|
- Assert.notNull(preAuthenticatedGrantedAuthorities, "Pre-authenticated granted authorities have not been set");
|
|
|
|
- GrantedAuthority[] result = new GrantedAuthority[preAuthenticatedGrantedAuthorities.length];
|
|
|
|
- System.arraycopy(preAuthenticatedGrantedAuthorities, 0, result, 0, result.length);
|
|
|
|
- return result;
|
|
|
|
|
|
+ return authoritiesContainer.getGrantedAuthorities();
|
|
}
|
|
}
|
|
|
|
|
|
public void setGrantedAuthorities(GrantedAuthority[] authorities) {
|
|
public void setGrantedAuthorities(GrantedAuthority[] authorities) {
|
|
- this.preAuthenticatedGrantedAuthorities = new GrantedAuthority[authorities.length];
|
|
|
|
- System.arraycopy(authorities, 0, preAuthenticatedGrantedAuthorities, 0, preAuthenticatedGrantedAuthorities.length);
|
|
|
|
|
|
+ this.authoritiesContainer.setGrantedAuthorities(authorities);
|
|
}
|
|
}
|
|
|
|
|
|
public String toString() {
|
|
public String toString() {
|
|
StringBuffer sb = new StringBuffer();
|
|
StringBuffer sb = new StringBuffer();
|
|
sb.append(super.toString() + "; ");
|
|
sb.append(super.toString() + "; ");
|
|
- sb.append("preAuthenticatedGrantedAuthorities: " + Arrays.asList(preAuthenticatedGrantedAuthorities));
|
|
|
|
|
|
+ sb.append(authoritiesContainer);
|
|
return sb.toString();
|
|
return sb.toString();
|
|
}
|
|
}
|
|
}
|
|
}
|