git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/application-support-layer/applicationSupportLayerCore@54410 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
72dae40b77
commit
b5bda0c2a9
|
@ -2,15 +2,15 @@ package org.gcube.application.framework.core.cache.factories;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.gcube.application.framework.core.security.PortalSecurityManager;
|
//import org.gcube.application.framework.core.security.PortalSecurityManager;
|
||||||
import org.gcube.application.framework.core.security.VOMSAdminManager;
|
//import org.gcube.application.framework.core.security.VOMSAdminManager;
|
||||||
import org.gcube.application.framework.core.util.UserCredential;
|
//import org.gcube.application.framework.core.util.UserCredential;
|
||||||
import org.gcube.common.core.scope.GCUBEScope;
|
//import org.gcube.common.core.scope.GCUBEScope;
|
||||||
import org.gcube.common.core.security.utils.VOMSAttributesReader;
|
//import org.gcube.common.core.security.utils.VOMSAttributesReader;
|
||||||
import org.gcube.common.core.utils.logging.GCUBELog;
|
import org.gcube.common.core.utils.logging.GCUBELog;
|
||||||
import org.gcube.vomanagement.vomsapi.VOMSAdmin;
|
//import org.gcube.vomanagement.vomsapi.VOMSAdmin;
|
||||||
import org.gcube.vomanagement.vomsapi.impl.VOMSAPIFactory;
|
//import org.gcube.vomanagement.vomsapi.impl.VOMSAPIFactory;
|
||||||
import org.glite.wsdl.services.org_glite_security_voms.User;
|
//import org.glite.wsdl.services.org_glite_security_voms.User;
|
||||||
import org.gridforum.jgss.ExtendedGSSCredential;
|
import org.gridforum.jgss.ExtendedGSSCredential;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,64 +50,65 @@ public class ApplicationCredentials {
|
||||||
*/
|
*/
|
||||||
public ExtendedGSSCredential getCredential(String VREname)
|
public ExtendedGSSCredential getCredential(String VREname)
|
||||||
{
|
{
|
||||||
PortalSecurityManager secMan = new PortalSecurityManager(GCUBEScope.getScope(VREname));
|
// PortalSecurityManager secMan = new PortalSecurityManager(GCUBEScope.getScope(VREname));
|
||||||
if(!secMan.isSecurityEnabled())
|
// if(!secMan.isSecurityEnabled())
|
||||||
return null;
|
// return null;
|
||||||
ExtendedGSSCredential cred = creds.get(VREname);
|
// ExtendedGSSCredential cred = creds.get(VREname);
|
||||||
if(cred == null)
|
// if(cred == null)
|
||||||
{
|
// {
|
||||||
// If the credential is not available, it retrieves it from myProxy
|
// // If the credential is not available, it retrieves it from myProxy
|
||||||
cred = UserCredential.getCredential("application", VREname);
|
// cred = UserCredential.getCredential("application", VREname);
|
||||||
if(cred == null)
|
// if(cred == null)
|
||||||
{
|
// {
|
||||||
//user "application" does not exist on this VRE, so we add him and try to get credential again
|
// //user "application" does not exist on this VRE, so we add him and try to get credential again
|
||||||
VOMSAdmin vomsA;
|
// VOMSAdmin vomsA;
|
||||||
VOMSAPIFactory factory;
|
// VOMSAPIFactory factory;
|
||||||
try {
|
// try {
|
||||||
factory = VOMSAdminManager.getVOMSFactory();
|
// factory = VOMSAdminManager.getVOMSFactory();
|
||||||
vomsA = factory.getVOMSAdmin();
|
// vomsA = factory.getVOMSAdmin();
|
||||||
// String[] roles = vomsA.listRoles();
|
// // String[] roles = vomsA.listRoles();
|
||||||
// vomsA.createUser("application", userDN+"application", userCA, "application@gcube.org");
|
// // vomsA.createUser("application", userDN+"application", userCA, "application@gcube.org");
|
||||||
// vomsA.addMember(VREname, userDN+"application", userCA);
|
// // vomsA.addMember(VREname, userDN+"application", userCA);
|
||||||
// vomsA.assignRole(VREname, roles[0], userDN+"application", userCA);
|
// // vomsA.assignRole(VREname, roles[0], userDN+"application", userCA);
|
||||||
// vomsA = new VOMSAdminImpl();
|
// // vomsA = new VOMSAdminImpl();
|
||||||
String[] roles = vomsA.listRoles();
|
// String[] roles = vomsA.listRoles();
|
||||||
User myUser = new User();
|
// User myUser = new User();
|
||||||
myUser.setCN("application");
|
// myUser.setCN("application");
|
||||||
myUser.setDN(userDN+"application");
|
// myUser.setDN(userDN+"application");
|
||||||
myUser.setCA(userCA);
|
// myUser.setCA(userCA);
|
||||||
myUser.setMail("application@gcube.org");
|
// myUser.setMail("application@gcube.org");
|
||||||
//vomsA.getExtendedPortType().createUser("application", userDN+"application", userCA, "application@gcube.org");
|
// //vomsA.getExtendedPortType().createUser("application", userDN+"application", userCA, "application@gcube.org");
|
||||||
vomsA.createUser(myUser);
|
// vomsA.createUser(myUser);
|
||||||
//vomsA.getExtendedPortType().addOnlineCAMember(VREname, userDN+"application");
|
// //vomsA.getExtendedPortType().addOnlineCAMember(VREname, userDN+"application");
|
||||||
//vomsA.getExtendedPortType().assignOnlineCARole(VREname, roles[0], userDN+"application");
|
// //vomsA.getExtendedPortType().assignOnlineCARole(VREname, roles[0], userDN+"application");
|
||||||
vomsA.addMember(VREname, userDN + "application", userCA);
|
// vomsA.addMember(VREname, userDN + "application", userCA);
|
||||||
vomsA.assignRole(VREname, roles[0], userDN + "application", userCA);
|
// vomsA.assignRole(VREname, roles[0], userDN + "application", userCA);
|
||||||
}
|
// }
|
||||||
catch (Exception e) {
|
// catch (Exception e) {
|
||||||
vomsA = null;
|
// vomsA = null;
|
||||||
logger.error("", e);
|
// logger.error("", e);
|
||||||
}
|
// }
|
||||||
cred = UserCredential.getCredential("application", VREname);
|
// cred = UserCredential.getCredential("application", VREname);
|
||||||
}
|
// }
|
||||||
creds.put(VREname, cred);
|
// creds.put(VREname, cred);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// credential already available
|
// // credential already available
|
||||||
VOMSAttributesReader vomsReader = null;
|
// VOMSAttributesReader vomsReader = null;
|
||||||
try {
|
// try {
|
||||||
vomsReader = new VOMSAttributesReader(cred);
|
// vomsReader = new VOMSAttributesReader(cred);
|
||||||
//Check if it's gonna expire in the next minute, and refresh it
|
// //Check if it's gonna expire in the next minute, and refresh it
|
||||||
if(vomsReader.getRefreshPeriod() < 60000)
|
// if(vomsReader.getRefreshPeriod() < 60000)
|
||||||
{
|
// {
|
||||||
cred = UserCredential.getCredential("application", VREname);
|
// cred = UserCredential.getCredential("application", VREname);
|
||||||
creds.put(VREname, cred);
|
// creds.put(VREname, cred);
|
||||||
}
|
// }
|
||||||
} catch (Exception e1) {
|
// } catch (Exception e1) {
|
||||||
logger.error("", e1);
|
// logger.error("", e1);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return cred;
|
// return cred;
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue