Author: owulff
Date: Fri Mar 8 18:42:18 2013
New Revision: 1454491
URL: http://svn.apache.org/r1454491
Log:
Fix NPE if user has no roles
Modified:
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/GrantedAuthoritiesUserDetailsFederationService.java
Modified:
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/GrantedAuthoritiesUserDetailsFederationService.java
URL:
http://svn.apache.org/viewvc/cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/GrantedAuthoritiesUserDetailsFederationService.java?rev=1454491&r1=1454490&r2=1454491&view=diff
==============================================================================
---
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/GrantedAuthoritiesUserDetailsFederationService.java
(original)
+++
cxf/fediz/trunk/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/GrantedAuthoritiesUserDetailsFederationService.java
Fri Mar 8 18:42:18 2013
@@ -34,16 +34,32 @@ import org.springframework.security.core
public class GrantedAuthoritiesUserDetailsFederationService
extends AbstractFederationUserDetailsService {
+ private boolean convertToUpperCase = true;
+
@Override
protected UserDetails loadUserDetails(FederationResponse response) {
final List<GrantedAuthority> grantedAuthorities = new
ArrayList<GrantedAuthority>();
- for (final String role : response.getRoles()) {
- grantedAuthorities.add(new SimpleGrantedAuthority("ROLE_" +
role.toUpperCase()));
+ if (response.getRoles() != null) {
+ for (final String role : response.getRoles()) {
+
+ grantedAuthorities.add(new SimpleGrantedAuthority("ROLE_"
+ + (this.convertToUpperCase ?
role.toUpperCase() : role)));
+ }
}
return new FederationUser(response.getUsername(), "N/A",
grantedAuthorities, new
ClaimCollection(response.getClaims()));
}
+
+
+ /**
+ * Converts the role value to uppercase value.
+ *
+ * @param convertToUpperCase true if it should convert, false otherwise.
+ */
+ public void setConvertToUpperCase(final boolean convertToUpperCase) {
+ this.convertToUpperCase = convertToUpperCase;
+ }
}