TIM 之API遠端呼叫
Tivoli identity manager 是IBM的一種身份管理軟體,提供了對企業使用者資料的統一管理的功能。
在絕大多數情況下,開發人員可以使用tim 提供的各種介面實現使用者的需求,只有在需要更高階定製的時候,才會使用TIM的api.
一般地,可以直接把TIM的應用程式部署到websphere上面,可以參考TIM提供的例子。如果需要在另外的機器上開發TIM的應用程式,可以採取以下步驟。該方法只是一種實現方法的探索,可能不是最簡單的方法。
***************************************************************
使用eclipse 3.4.2
1 需要把TIM的所有jar包匯入到eclipse,或者引用本地的該路徑
2 需要把was 5.1 和was6 的所有jar包匯入到eclipse
3 需要把tim的data 目錄匯入
4需要把 implfactory.properties (was5.1 包括)檔案匯入
5 需要修改eclipse的java 執行時的java.security 檔案,在我的機器上是porgram files 目錄下的jre1.6
增加內容
login.config.url.1=file:${java.home}/lib/security/jaas.conf
6 在第5步的jre/lib/security 裡面增加jaas.conf
其內容為
ClientContainer {
com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy required delegate=com.ibm.ws.security.common.auth.module.WSClientLoginModuleImpl;
};
WSLogin {
com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy required delegate=com.ibm.ws.security.common.auth.module.WSLoginModuleImpl;
};
ITIM {
com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy required delegate=com.ibm.itim.apps.jaas.spi.PlatformLoginModule;
};
serviceLoginContext {
com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy required delegate=com.ibm.itim.remoteservices.provider.itim.ServiceLoginModule;
};
7 匯入was 6 的jre 下的lib
8 修改host,使得通過本地機器名可以訪問其ip地址所指的機器,否則提示
CTGIMM091E Unsuccessful login to WebSphere application server.
執行成功
*************************************************************
遠端呼叫TIM api可能實現的功能包括以下
1 建立部門。
可以設計程式,批量建立TIM裡面的組織單元。
2 遠端測試。
遠端測試TIM的api 或者自定義內容
......
總結:
就目前來看,通過TIM或者TAM api的開發,進行深入的定製,是利用IBM的IAM解決方案進行實施的一個趨勢。