Sunday, 22 January 2012

Installing Webgate 11.1.1.3

The prerequisites is the webtier should be installed previously.

installing WebTier 11.1.1.2

Saturday, 21 January 2012

11g Code to get the roles of the user and the roles assigned to users

public void getUsersByRole(String rolename){
RoleManager rolemanager=client.getService(RoleManager.class);
List s2;
try {
s2 = rolemanager.getRoleMembers(getRoleKey(rolename),false);
for (User user: s2)
{
System.out.println("User ID : "+user.getAttribute("User Login"));
}

} catch (RoleMemberException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AccessDeniedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void getRolesForUser(String username){
try{
RoleManager rolemanager=client.getService(RoleManager.class);
List s3=rolemanager.getUserMemberships(getUserKey(username).toString),false);

for(Role role:s3){
System.out.println("Roles :" +role.getAttribute("Role Display Name"));
}
// System.out.println(s3);
}catch(Exception e){
e.printStackTrace();
}
}

11g getting rolekey,userkey,objectkey

public Long getUserKey(String userLogin) {
Long userKey = null;
SearchCriteria criteria = new SearchCriteria("User Login", userLogin,SearchCriteria.Operator.EQUAL);
Set retAttrs = new HashSet();
retAttrs.add("usr_key");
UserManager usrMgr = client.getService(UserManager.class);
try {
usrMgr.search(criteria, retAttrs, null);
List users = usrMgr.search(
criteria, retAttrs, null);

userKey = (Long) users.get(0).getAttribute("usr_key");
} catch (Exception e) {
e.printStackTrace();
}
return userKey;
}

public long getObjectKey(String object) {
HashMap objectMap = new HashMap();
long key = 0;
try {
tcObjectOperationsIntf moObjectUtility = client.getService(tcObjectOperationsIntf.class);

objectMap.put("Objects.name", object);
tcResultSet moResultSet = moObjectUtility.findObjects(objectMap);

if (moResultSet.getRowCount() == 0) {
} else {
moResultSet.goToRow(0);
key = moResultSet.getLongValue("Objects.name");
}
} catch (Exception e) {
e.printStackTrace();
}
return key;
}


public String getRoleKey(String roleName)
{
String roleKey=null;
SearchCriteria criteria = new SearchCriteria(RoleAttributeName.NAME.getId(), roleName, SearchCriteria.Operator.EQUAL);
Set retAttrs = new HashSet();
retAttrs.add(RoleAttributeName.KEY.getId());
RoleManager roleMgr = (RoleManager)client.getService(RoleManager.class);
try {
List roles= roleMgr.search(criteria, retAttrs, null);
roleKey = roles.get(0).getAttribute(RoleAttributeName.KEY.getId()).toString();
} catch (Exception e) {
}
return roleKey;
}

Friday, 20 January 2012

11g OIM connect

Please find the code snippet
Make sure you add the required jars from lib/ext and also weblogic.jar.


public class OIM11g {

public static String id;
private OIMClient client;
private tcUtilityFactory ioUtilityFactory;


private static String OIMUserName = "xelsysadm";
private static String OIMPassword = "testpass";
private static String OIMURL = ReadProperty.getProp("URL");
private static String OIMInitialContextFactory = "weblogic.jndi.WLInitialContextFactory";
private static String config = ReadProperty.getProp("Configuration");
private static String homeDir = ReadProperty.getProp("HomeDirectory");
public OIM11g(){

}

public Boolean connect(String user, String pwd)
{
Boolean result=true;
Hashtable env = new Hashtable();
System.setProperty("java.security.auth.login.config",config);
System.out.println(config);
System.setProperty("XL.HomeDir", homeDir);
System.out.println(homeDir);
env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL,OIMInitialContextFactory);
env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, OIMURL);
System.out.println(OIMURL);
client = new OIMClient(env);
try {
System.out.println("Establishing connection...");
client.login(user, pwd.toCharArray());
ioUtilityFactory = new tcUtilityFactory(env,user,pwd);
System.out.println("connected");
}catch (Exception e){
e.printStackTrace();
}
return result;
}

Saturday, 7 January 2012

Cookie value not set in OAM

In OAM 11g, we tried setting the cookie names in the authorization policies,but it was a unsuccessful attempt since the browser is unable to retrieve the cookies.

Reason for this Issue

The flag SSOOnlyMode needs to be set to false for enabling Authorization Module.

Solution

The parameter SSOOnlyMode in oam-config.xml is set to true. If it is set to below mentioned value it will not invoke the Authorization module.

setting Name="SSOOnlyMode" Type="xsd:boolean"true

To avoid this issue

1. Shutdown all your Servers
1. Modify the file Domain_home/config/fmwconfig/oam-config.xml.
setting Name="SSOOnlyMode" Type="xsd:boolean"false
4. Start all the servers.
5. Retest the issue again.