gpt4 book ai didi

java - 用于管理(身份验证/订阅更改)用户的 OPSS

转载 作者:行者123 更新时间:2023-11-30 11:12:13 25 4
gpt4 key购买 nike

我正在使用 Oracle WebLogic 服务器托管我们的应用程序。我们需要在应用程序级别管理用户订阅 - 识别密码更改、更新过期密码、帐户等。

我们使用 WebLogic 11g 和 Microsoft Active Directory 作为身份提供者。在浏览了 Oracle 文档之后,我意识到最好使用 OPSS 来实现这一点,因为我们正在使用 Oracle 解决方案。但是,我仍然无法找到使用 Java、OPSS 和 Active Directory 实现此目的的方法。

任何帮助表示赞赏。

最佳答案

为了使用基于 OPSS(Oracle 平台安全服务)的实现,您需要在应用程序服务器 (WebLogic) 和身份存储 (Active Directory) 之间建立 SSL。

下面将详细介绍我所做的实现 - 删除了一些特定信息以简化它。

获取IdentityStore对象

JpsContext           jpsContext     = null;
IdentityStoreService isService = null;
LdapIdentityStore idstoreService = null;

jpsContext = JpsContextFactory.getContextFactory().getContext();
isService = jpsContext.getServiceInstance(IdentityStoreService.class);
idstoreService = (LdapIdentityStore)
jpsContext.getServiceInstance(IdentityStoreService.class);
idStore = idstoreService.getIdmStore();

提取用户

String userName = “testUser”;
User user = null;

searchFilter = idStore.getSimpleSearchFilter(UserProfile.USER_NAME, SimpleSearchFilter.TYPE_EQUAL, null);
searchFilter.setValue(userName + searchFilter.getWildCardChar());

params = new SearchParameters();
params.setFilter(searchFilter);

SearchResponse resp = idStore.searchUsers(params);
// Load the searched user details
while (resp.hasNext()) {
user = (User)resp.next();
if (user.getName().equalsIgnoreCase(userName)) {
// User Found
break;
}
}

提取用户资料

UserProfile userProfile = user.getUserProfile();


之后,您可以对提取的用户进行更改,例如更改密码、重置等。
希望这对将来的人有所帮助。

关于java - 用于管理(身份验证/订阅更改)用户的 OPSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26993443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com