I'm new to IGI,too.
1. Add IDEAS user to any roles that sync from SDS
2. With HR feed
you can write igi rules to assign default role in SDS when new identity add to IGI.
All above two methods will add random(depends on Password Policy) password to create Account
3. Create Account with HR feed
when
event : EventInBean( )
userErcBean : UserErcBean( )
userBean : UserBean( )
extInfoBean : ExternalInfo( )
orgUnitBean : OrgUnitBean( )
then
Map<String, List<PwdManagementAttrValBean>> pwdManagementAttrs = new HashMap<String, List<PwdManagementAttrValBean>>();
PwdManagementAttrValBean defaultHomeDir = new PwdManagementAttrValBean();
defaultHomeDir.setValue("true");
List<PwdManagementAttrValBean> pwdManagementValues = new ArrayList<PwdManagementAttrValBean>();
pwdManagementValues.add(defaultHomeDir);
pwdManagementAttrs.put("erPosixDefaultHomeDir", pwdManagementValues);
AccountBean mailAccount = new AccountBean();
mailAccount.setPwdcfg_name("Mail");
mailAccount.setPerson_id(userBean.getId());
mailAccount.setAttributesToAdd(pwdManagementAttrs);
mailAccount.setPwdpolicy_id(104);
mailAccount.setPwdpolicy_name("Mail");
UserAction.addAccount(sql, mailAccount);
EntitlementBean filterEntitlement = new EntitlementBean();
filterEntitlement.setApplication_name("Mail");
filterEntitlement.setName("users");
BeanList entitlementBeanList = _EntitlementAction.findEntitlement(sql, filterEntitlement, null);
if (!entitlementBeanList.isEmpty()) {
//EntitlementBean users = (EntitlementBean) entitlementBeanList.get(0);
//_UserAction.addEntitlements(sql, false, true, orgUnitBean, entitlementBeanList, userBean);
OrgUnitAction.addRoles(sql, orgUnitBean, entitlementBeanList, false);
UserAction.addRole(sql, userBean, orgUnitBean, entitlementBeanList, null, null, false, false);
UtilAction.addResourcesToEmployment(sql, userBean, (EntitlementBean)entitlementBeanList.get(0), orgUnitBean);
}
UserAction.changePwd(sql, mailAccount, "P@ssw0rd");