2

我目前有一个使用 Spring Framework 进行身份验证和授权的 Web 应用程序。我有一个客户群希望实施 Oracle Access Manager 以进行身份​​验证和授权。有没有人知道在下面给出我当前的 Web 应用程序设置时,这种迁移会有多复杂?

当前的网络应用程序:

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

1 回答 1

2

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

从我在遗留 AM 访问代码中看到的内容来看,您的问题可以通过单个自定义 Spring Security 过滤器来解决,该过滤器使用此 API访问 AM 进行身份验证和授权(链接可能已过时)。因此,客户将能够在 Access Manager 中管理用户和角色,而无需对应用程序本身进行架构更改。

AM 访问片段(未测试):

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

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

于 2012-11-28T09:28:13.850 回答