diff --git a/pom.xml b/pom.xml
index 2c3fa65..683388a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
org.gcube.applicationsupportlayer
aslcore
- 4.6.1-SNAPSHOT
+ 4.6.2-SNAPSHOT
Application Support Layer Core
Library supporting dissemination of gCube content with OAI-ORE
@@ -39,7 +39,11 @@
-->
-
+
+ org.gcube.common
+ common-authorization
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+
net.sf.ehcache
diff --git a/src/main/java/org/gcube/application/framework/core/session/ASLSession.java b/src/main/java/org/gcube/application/framework/core/session/ASLSession.java
index 1c53b7e..c31dae1 100644
--- a/src/main/java/org/gcube/application/framework/core/session/ASLSession.java
+++ b/src/main/java/org/gcube/application/framework/core/session/ASLSession.java
@@ -10,21 +10,21 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+import org.gcube.application.framework.accesslogger.library.impl.AccessLogger;
+import org.gcube.application.framework.accesslogger.model.LoginToVreAccessLogEntry;
+import org.gcube.application.framework.core.util.ASLGroupModel;
+import org.gcube.application.framework.core.util.GenderType;
+import org.gcube.application.framework.core.util.SessionConstants;
+import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.scope.impl.ScopeBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.gcube.application.framework.accesslogger.library.impl.AccessLogger;
-import org.gcube.application.framework.accesslogger.model.LoginToVreAccessLogEntry;
//import org.gcube.application.framework.core.security.PortalSecurityManager;
-import org.gcube.application.framework.core.util.ASLGroupModel;
-import org.gcube.application.framework.core.util.GenderType;
-import org.gcube.application.framework.core.util.SessionConstants;
//import org.gcube.application.framework.core.util.UserCredential;
//import org.gcube.common.core.scope.GCUBEScope;
-import org.gcube.common.scope.api.ScopeProvider;
-import org.gcube.common.scope.impl.ScopeBean;
//import org.gridforum.jgss.ExtendedGSSCredential;
/**
@@ -44,6 +44,7 @@ public class ASLSession{
// private ExtendedGSSCredential credential;
private String parentScope;
private String scope;
+ private String securityToken;
private HashMap notifiers;
String scopeName;
private ASLGroupModel groupModel;
@@ -360,6 +361,12 @@ public class ASLSession{
}
+
+ public void setSecurityToken(String token){
+ SecurityTokenProvider.instance.set(token);
+ this.securityToken = token;
+ }
+
public void logUserLogin(String scope) {
innerSession.clear();
loggedIn = true;
@@ -446,4 +453,9 @@ public class ASLSession{
public GenderType getUserGender() {
return this.gender;
}
+
+ public String getSecurityToken() {
+ logger.info("getting security token: " + securityToken+" in thread "+Thread.currentThread().getId());
+ return securityToken;
+ }
}
diff --git a/src/main/java/org/gcube/application/framework/core/session/SessionManager.java b/src/main/java/org/gcube/application/framework/core/session/SessionManager.java
index 847a99a..bcac4c4 100644
--- a/src/main/java/org/gcube/application/framework/core/session/SessionManager.java
+++ b/src/main/java/org/gcube/application/framework/core/session/SessionManager.java
@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
+import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,6 +40,10 @@ public class SessionManager {
if (session.getScope()!=null) //covers first helper's invocation
ScopeProvider.instance.set(session.getScopeName());
+ if (session.getSecurityToken()!=null){
+ logger.info("Setting SecurityTokenProvidet to: "+session.getSecurityToken()+" in thread "+Thread.currentThread().getId());
+ SecurityTokenProvider.instance.set(session.getSecurityToken());
+ }
return session;
}