You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2013/07/16 11:44:04 UTC
svn commit: r1503637 -
/cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java
Author: coheigea
Date: Tue Jul 16 09:44:03 2013
New Revision: 1503637
URL: http://svn.apache.org/r1503637
Log:
Send multiple roles as XACML AttributeValues of a single Attribute
Modified:
cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java
Modified: cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java?rev=1503637&r1=1503636&r2=1503637&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java (original)
+++ cxf/branches/2.7.x-fixes/rt/security/src/main/java/org/apache/cxf/rt/security/xacml/DefaultXACMLRequestBuilder.java Tue Jul 16 09:44:03 2013
@@ -94,16 +94,23 @@ public class DefaultXACMLRequestBuilder
);
attributes.add(subjectIdAttribute);
- for (String role : roles) {
- if (role != null) {
- AttributeValueType subjectRoleAttributeValue =
- RequestComponentBuilder.createAttributeValueType(role);
+ if (roles != null) {
+ List<AttributeValueType> roleAttributes = new ArrayList<AttributeValueType>();
+ for (String role : roles) {
+ if (role != null) {
+ AttributeValueType subjectRoleAttributeValue =
+ RequestComponentBuilder.createAttributeValueType(role);
+ roleAttributes.add(subjectRoleAttributeValue);
+ }
+ }
+
+ if (!roleAttributes.isEmpty()) {
AttributeType subjectRoleAttribute =
RequestComponentBuilder.createAttributeType(
XACMLConstants.SUBJECT_ROLE,
XACMLConstants.XS_ANY_URI,
issuer,
- Collections.singletonList(subjectRoleAttributeValue)
+ roleAttributes
);
attributes.add(subjectRoleAttribute);
}