Author: chris.laprun(a)jboss.com
Date: 2012-02-01 04:32:15 -0500 (Wed, 01 Feb 2012)
New Revision: 8333
Added:
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/ConversationStateCredentialsAccessor.java
Modified:
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/JBoss5WSSServiceIntegration.java
portal/trunk/wsrp-integration/extension-ear-as5/src/main/application/lib/jboss5integration.jar/conf/configuration.xml
Log:
- GTNWSRP-268: applied patch from mposolda.
Added:
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/ConversationStateCredentialsAccessor.java
===================================================================
---
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/ConversationStateCredentialsAccessor.java
(rev 0)
+++
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/ConversationStateCredentialsAccessor.java 2012-02-01
09:32:15 UTC (rev 8333)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2012, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+
+package org.gatein.integration.wsrp.wss;
+
+import org.exoplatform.services.security.ConversationState;
+import org.gatein.common.logging.Logger;
+import org.gatein.common.logging.LoggerFactory;
+import org.gatein.wci.security.Credentials;
+import org.gatein.wsrp.wss.credentials.CredentialsAccessor;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class ConversationStateCredentialsAccessor implements CredentialsAccessor
+{
+
+ private static final Logger log =
LoggerFactory.getLogger(ConversationStateCredentialsAccessor.class);
+
+ /**
+ * Reading credentials from @{link ConversationState} of current user.
+ *
+ * @return credentials
+ */
+ @Override
+ public Credentials getCredentials()
+ {
+ if (ConversationState.getCurrent() == null)
+ {
+ log.warn("Cannot find Credentials because ConversationState not
set.");
+ return null;
+ }
+ return
(Credentials)ConversationState.getCurrent().getAttribute(Credentials.CREDENTIALS);
+ }
+}
Modified:
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/JBoss5WSSServiceIntegration.java
===================================================================
---
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/JBoss5WSSServiceIntegration.java 2012-02-01
09:19:20 UTC (rev 8332)
+++
portal/trunk/wsrp-integration/extension-component/src/main/java/org/gatein/integration/wsrp/wss/JBoss5WSSServiceIntegration.java 2012-02-01
09:32:15 UTC (rev 8333)
@@ -23,6 +23,7 @@
package org.gatein.integration.wsrp.wss;
import org.gatein.wsrp.wss.WebServiceSecurityFactory;
+import org.gatein.wsrp.wss.credentials.CredentialsAccessor;
import org.picocontainer.Startable;
import org.wsrp.wss.jboss5.handlers.consumer.JBWSSecurityHandlerWrapper;
import org.wsrp.wss.jboss5.handlers.consumer.WSSecurityCredentialHandler;
@@ -35,12 +36,13 @@
{
private final WebServiceSecurityFactory wssFactory;
- private final WSSecurityCredentialHandler WS_CREDENTIAL_HANDLER = new
WSSecurityCredentialHandler();
+ private final WSSecurityCredentialHandler WS_CREDENTIAL_HANDLER;
private final JBWSSecurityHandlerWrapper JBWS_SECURITY_WRAPPER = new
JBWSSecurityHandlerWrapper();
- public JBoss5WSSServiceIntegration()
+ public JBoss5WSSServiceIntegration(CredentialsAccessor credentialsAccessor)
{
wssFactory = WebServiceSecurityFactory.getInstance();
+ WS_CREDENTIAL_HANDLER = new WSSecurityCredentialHandler(credentialsAccessor);
}
public void start()
Modified:
portal/trunk/wsrp-integration/extension-ear-as5/src/main/application/lib/jboss5integration.jar/conf/configuration.xml
===================================================================
---
portal/trunk/wsrp-integration/extension-ear-as5/src/main/application/lib/jboss5integration.jar/conf/configuration.xml 2012-02-01
09:19:20 UTC (rev 8332)
+++
portal/trunk/wsrp-integration/extension-ear-as5/src/main/application/lib/jboss5integration.jar/conf/configuration.xml 2012-02-01
09:32:15 UTC (rev 8333)
@@ -28,6 +28,16 @@
xmlns="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd">
<component>
+ <key>org.gatein.wsrp.wss.credentials.CredentialsAccessor</key>
+
+ <!-- Reading credentials from HTTP session -->
+
<type>org.gatein.wsrp.wss.credentials.HTTPSessionCredentialsAccessor</type>
+
+ <!-- Reading credentials from ConversationState -->
+
<!--<type>org.gatein.integration.wsrp.wss.ConversationStateCredentialsAccessor</type>-->
+ </component>
+
+ <component>
<type>org.gatein.integration.wsrp.wss.JBoss5WSSServiceIntegration</type>
</component>