从 Spring Security 迁移到 Oracle Access Manager



我目前有一个使用Spring框架进行身份验证和授权的Web应用程序。 我有一个客户群,希望实施 Oracle 访问管理器进行身份验证和授权。 有没有人知道鉴于我当前的 Web 应用程序设置,此迁移将有多复杂?

当前网络应用程序:

  • 使用基于 Spring 的自定义过滤器进行单点登录身份验证
  • 使用基于 Spring 窗体的安全性
  • Web应用程序目前使用MySQL并实现Spring org.springframework.security.core.userdetails.UserDetailsService,以根据具有用户名和加密密码的MySQL表对用户进行身份验证
  • UI是用JSF/Facelet编写的,并使用Hibernate JPA实现进行MySQL的所有CRUD操作

我做过一次反向迁移,从 Sun Access Manager 到 plain Spring Security。

从我在旧 AM 访问代码中看到的情况来看,您的问题可以通过单个自定义 Spring 安全过滤器来解决,该过滤器使用此 API 访问 AM 进行身份验证和授权(链接可能已过时)。因此,客户将能够在访问管理器中管理用户和角色,但不需要对应用程序本身进行体系结构更改。

AM 访问代码段(未测试):

SSOToken adminToken = (SSOToken) AccessController.doPrivileged(AdminTokenAction.getInstance());
AMIdentityRepository repo = new AMIdentityRepository(adminToken, "realm_name");
IdSearchResults res = rep.searchIdentities(IdType.USER, uid, new IdSearchControl());

我自己从来没有做过这样的整合,所以也许有更合适的方法存在。

最新更新