Sunday, February 4, 2024

Source Code


Book republish again on Amazon

And all sources code is here


Ca Identity Manager Volume I: Java Developer's Guide

https://www.amazon.com/Ca-Identity-Manager-Developers-Guide-ebook/dp/B0CV794KQP

source code: idmvol1.zip


CA Identity Manager Volume II: Learn by Example Code

https://www.amazon.com/CA-Identity-Manager-II-Example-ebook/dp/B0CV79S2ZL/ref=sr_1_2?crid=17HQLP6BSR7OU

source code:  idmvol2.zip


CA Identity Manager ( IdentityMinder ) : Custom Connectors Guide R12.5 and R12.6

https://www.amazon.com/CA-Identity-Manager-IdentityMinder-Connectors-ebook/dp/B00NB8GHE6

source code:  idmCustomConnector.zip

Friday, June 22, 2018

Contact Me

Hi,

I already downed my web site (caidentitymanagerbook.com) and end of support. If you want to buy books or source code, please contact my email below.





Wednesday, February 18, 2015

Compare my books and CA Bookshelf (Product document)

Many people ask me about my books, I want to clarify about contents in my books and CA Bookshelf (Product document). You can check the product documents here: https://docops.ca.com/ca-identity-manager/12-6-7/EN/ . I did not replicated any contents from the official product manual to my books.

My books are written for Developer, not Administrator. It contains a lot of pictures, examples' code, and tutorial step by steps. I hope the table below will help you to understand the purpose of my books : ) 


Topics

Ca Identity Manager Volume I:
Java Developer's Guide
CA Document
InstallationNot CoverYes
AdministratingNot in scope, but this book guide some basic concepts for inexperience developer.The chapter 2 describes "Admin Task" Yes
Programming Concepts and Configuring IDEThis book covers Programming Concepts and uses IDE: Eclipse. Covers Programming Concepts
Business Logic Task Handler and Example CodeAbsolutely, 5 examples+ deployment (step by steps)There are examples and doc here
Create custom WorkflowYes, 2 basic examples + deployment (step by steps)No
Workpoint programmingYes, with example codeNot sure, please check doc here
Participant Resolver APIConcept+example+deployment (step by steps)example code + doc
Event Listener APIConcept+example+deployment (step by steps)example code + doc
Logical Attribute APIConcept+example+deployment (step by steps)example code + doc
Validation RulesConcept+example+deployment (step by steps)example code + doc
Email NotificationConcept+example+deployment (step by steps)
1.Email Notification Policies.
2.Email templates
3.by service API
example code + doc : Email Notification Policies+by service API
Notification Rule APIConcept+example+deployment (step by steps)example code + doc
Task Execution Web Service (TEWS)Concept+exampleexample code + doc
Topics

Ca Identity Manager Volume II: Learn by Example Code
CA Document
Provisioning by Java APIExample code:Search user by employee id
Example code:Created user
Example code:send email
Example code:add provisioning role
Example code:create account
Example code:delay process until hiring date
Example code:Exception handling
Not sure, please help me to find out
Custom Workflow and Web Services integrationExample code:call web services
Example code:create custom workflow
Not sure
De-provisioning by Java APIExample code:disable users
Example code:disable accounts
Example code:revoke provisioning roles
Not sure
Move User and Account by Java APIExample code:move user and account to new OUNot sure
Working with Identity Policy + java codeExample code: working with Identity PolicyNot sure
scheduling job and calling task by Java APIExample code:Save task configuration
Example code:Access other admin task’s configuration
Example code:Create schedule task
Example code:Calling other admin task by internal API
Not sure
Modify account attributes by Java APIExample code: Update account’s attribute directlyNot sure
Custom Workflow and ApprovalExample code: Generate event and workflow.
Example code: Set approver by API.
Example code: Using velocity email template in workflow.
Example code: Implement time out.
Not sure
Topics

Ca Identity Manager: Custom Connectors Guide
CA Connector Programming Reference
Step by Steps: How to develop connector.xml, metadata.xml and java codeYesNot sure
Step by Steps: How to generate user console account screensYesNot sure
Step by Steps: DeploymentYes (covers both 12.5 and 12.6)Not sure
Step by Steps: example codeYesNot sure

Sunday, December 21, 2014

Account API: how to get and set account attributes

There are 2 type of Account objects:

  • com.netegrity.llsdk6.imsapi.managedobject.Account
  • com.ca.identitymanager.provisioning.managedobject.Account

For quick answer to question : how to get and set account attributes?
I will use the second one API to get/set account attributes.


The first one,com.netegrity.llsdk6.imsapi.managedobject.Account, you can get from User Object



Vector<Account> accounts = user.getAccounts();


Pros:
- Easy to get object
Cons:
- This code is so slow because you have to get all account and query from all endpoint.
- contains a few methods.

I prefer the second one,com.ca.identitymanager.provisioning.managedobject.Account,

 Pros:
- So powerful, it has method setAttribute(), you can set value to account
- You can  get account by specific endpoint.
Cons:
- A little bit difficult to initiate AccountProvider Object

For more detail let see Chapter 9 of CA Identity Manager Volume II: Learn by Example Code. I just showed how to use the API (the second one) to update account attributes. I put employee number then my code disable AD account by setting attribute




account.setAttribute(Account.PROPERTY_LOCKED_STATE,"TRUE");


You can see java doc here:
  • https://support.ca.com/cadocs/0/CA%20IdentityMinder%2012%206%203-JPN/Bookshelf_Files/javadoc-im/com/ca/identitymanager/provisioning/managedobject/Account.html

  • https://support.ca.com/cadocs/0/CA%20IdentityMinder%2012%206%203-JPN/Bookshelf_Files/javadoc-im/com/netegrity/llsdk6/imsapi/managedobject/Account.html

Monday, October 20, 2014

How to develop JSP Screen for CA IdentityMinder

You can use JSP as a screen.

Our example, we create admin task called "Custom JSP"
  • Primary Object is User
  • Action is View

Select search screen and select Tab "Tabs"

And add JSP, click icon pencil and select JSP files

 If you use weblogic, you can place JSP file at <WebLogic Home>\user_projects\domains\base_domain\applications\iam_im.ear\user_console.war\app\page\jsp

Save this admin task and assign to admin role.

Create JSP file named custom.jsp



<%@page import="com.netegrity.webapp.page.TaskController"%>
<%@page import="com.netegrity.llsdk6.imsapi.managedobject.Account"%>
<%@page import="java.util.Vector"%>
<%@ page import="com.netegrity.llsdk6.imsapi.managedobject.User" %>
<%@ page import="com.netegrity.webapp.UIContext" %>
<%@ page import="com.netegrity.llsdk6.imsapi.*" %>
<%@ page import="com.netegrity.llsdk6.imsapi.provider.UserProvider" %>

<%
      TaskController taskController = (TaskController)request.getAttribute("TaskController");
      User user = (User)taskController.getTaskSession().getSubject();
     
%>

<H1>Hello <%=user.getFriendlyName()%></H1>

Unique Name: <%=user.getUniqueName()%><br/>

List of accounts:<br/>
<%
      Vector<Account> accounts = user.getAccounts();
      for(Account account:accounts){
            out.println("  <li> Account Name:"+account.getUserAccountName()+" Endpoint: "+ account.getEndPointName()+"</li>");           
      }
%>

<%
      User admin = UIContext.getUser(request);
%>

Calling by <%=admin.getFriendlyName()%>



PS. you can see how to set class path form book or CA bookshelf.

This code gets user information and display accounts






The key API is:

1. Get TaskSession to get user Object




TaskController taskController = (TaskController)request.getAttribute("TaskController");
      User user = (User)taskController.getTaskSession().getSubject();



2. UIContext, this API you can call Provider Accessor, for example getUserProvider.



UIContext.getUser(request);


JSP code is open for you to use any java code to access database or web services. You download JSP code here: http://www.caidentitymanagerbook.com/tutorial.html