0

我们将 OOTB 历史管理器功能用于审计跟踪目的。然而,历史 xml 提供了 DB 用户 ID,而不是 MDMCE 中的实际用户名。

有什么方法可以根据 DB 用户 ID 获取用户名,而无需从我们的 Java 类连接到 DB。

如果我们需要这样做,java 类如何从 db.xml 文件中读取加密的密码详细信息。如果我们没有提供给应用程序团队的密码信息,并且我们需要使用加密的密码来连接数据库,我们该怎么做呢?

4

1 回答 1

0

首先,这似乎是历史管理器的一个严重错误,因此如果您可以打开 PMR 以修复它,那就太好了。 

在解决此问题之前,您可以遍历公司的所有用户并检索他们的 ID 和用户名。由于这是“蛮力”,您可以缓存结果。步骤是:

get current user: com.ibm.pim.context.Context::getCurrentUser()
get company object: com.ibm.pim.organization.User::getCompany()
get collection for all users: com.ibm.pim.organization.Company::getUsers() -->  com.ibm.pim.collection.PIMCollection<User>
get iterator for collection: com.ibm.pim.collection.PIMCollection<User>::iterator() --> java.util.Iterator<User>
iterate through all users: java.util.Iterator::hasNext()
retrieve user object: java.util.Iterator::next() --> User
get user ID: com.ibm.pim.organization.User::getId()
get username: com.ibm.pim.organization.User::getUserName()
store in HashMap or other caching mechanism
于 2019-09-03T14:41:47.183 回答