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;
}
/**