从Spring Security迁移到Oracle Access Manager

时间:2012-11-27 03:51:48

标签: java oracle spring-security single-sign-on

我目前有一个使用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操作

1 个答案:

答案 0 :(得分:2)

我已经完成了一次反向迁移,从Sun Access Manager到普通的Spring Security。

从我在旧版AM访问代码中看到的情况,您的问题可以通过单个自定义Spring Security过滤器解决,该过滤器使用this 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());

我自己从未做过这样的整合,所以也许存在更合适的方式。