You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2013/04/18 13:12:46 UTC

svn commit: r1469282 - /webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java

Author: coheigea
Date: Thu Apr 18 11:12:46 2013
New Revision: 1469282

URL: http://svn.apache.org/r1469282
Log:
Get the Subject from any of the SAML 1.1 statements if it is not set on the SAMLCallback object

Modified:
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java?rev=1469282&r1=1469281&r2=1469282&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SAMLCallback.java Thu Apr 18 11:12:46 2013
@@ -178,7 +178,36 @@ public class SAMLCallback implements Cal
      * @return the subject (type SubjectBean) of this SAMLCallback object.
      */
     public SubjectBean getSubject() {
-        return subject;
+        if (subject != null) {
+            return subject;
+        }
+        
+        // SAML 1.1 case
+        if (authenticationStatementData != null) {
+            for (AuthenticationStatementBean bean : authenticationStatementData) {
+                if (bean.getSubject() != null) {
+                    return bean.getSubject();
+                }
+            }
+        }
+        
+        if (attributeStatementData != null) {
+            for (AttributeStatementBean bean : attributeStatementData) {
+                if (bean.getSubject() != null) {
+                    return bean.getSubject();
+                }
+            }
+        }
+        
+        if (authDecisionStatementData != null) {
+            for (AuthDecisionStatementBean bean : authDecisionStatementData) {
+                if (bean.getSubject() != null) {
+                    return bean.getSubject();
+                }
+            }
+        }
+        
+        return null;
     }
 
     /**