/*
* Created on Dec 15, 2005
*
* EMC Documentum Developer Program 2005
*/
package com.documentum.devprog.snippets.session;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;
import com.documentum.fc.client.DfDefaultPrincipalSupport;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
public class PrincipalAuthentication
{
public static void main(String[] args)
{
String username = "dmadmin";
String password = "dmadmin";
String repoName = "devprog53sp1";
String principalName = "Documentum";
IDfSessionManager sessMgr = null;
IDfSession sess =null;
try
{
IDfClientX clientX = new DfClientX();
IDfLoginInfo li = clientX.getLoginInfo();
li.setUser(username);
li.setPassword(password);
IDfClient localClient = clientX.getLocalClient();
localClient.setPrincipalSupport(new DfDefaultPrincipalSupport(li));
//create session manager and set principal
sessMgr = localClient.newSessionManager();
sessMgr.setPrincipalName(principalName);
//Session is obtained for the principal - 'Documentum'
//and not for user dmadmin
sess = sessMgr.getSession(repoName);
System.out.println("Got session: " + sess.getSessionId());
System.out.println("Principal Mode: " + sess.getLoginInfo().getPrincipalMode());
System.out.println("Username: " + sess.getLoginInfo().getUser());
//use session and release it in finally clause.
}
catch(DfException dfe)
{
dfe.printStackTrace();
}
finally
{
if((sessMgr != null) && (sess != null))
{
sessMgr.release(sess);
}
}
}
}
|