有什么方法可以将Single Sign On与SiteMinder和待开发的java/.Net定制解决方案相集成?

use*_*429 5 .net java siteminder single-sign-on

我正在考虑使用java或.NET构建一个定制解决方案,我想将身份验证层与SiteMinder集成.

答:从我到目前为止发现的情况来看,SiteMinder似乎为外部应用程序提供了某种API以将登录凭据传递给Siteminder,而Siteminder能够恢复登录凭据是否正确:

- https://support.ca.com/cadocs/0/CA%20SiteMinder%20r12%20SP2-ENU/Bookshelf_Files/PDF/siteminder_java_dev_enu.pdf

- https://support.ca.com/cadocs/0/CA%20SiteMinder%20r12%20SP2-ENU/Bookshelf_Files/PDF/siteminder_sdk_overview_enu.pdf

=>根据您的经验,实施此问题时是否有任何问题?

B.在认证之后,我设想SiteMinder会将登录用户ID传递给我的待开发应用程序,该应用程序将搜索数据库以找出与登录用户ID相关联的角色和功能.这意味着我需要一个存储SiteMinder用户ID列表的数据库表.

=>有没有办法将siteminder中的用户ID和名称导出为平面文件?我正在考虑设置一个常规数据接口作业,该作业将从siteminder中提取用户信息并更新我的待开发应用程序.

sk_*_*sk_ 12

答:如果您没有义务,我强烈建议您不要使用SDK.您的代码将与Siteminder绑定太多,并且可能会在Siteminder基础结构的每次升级时中断.当没有其他解决方案时使用SDK.
集成Siteminder的更标准方法是在Web /应用程序服务器上安装Web代理/ J2EE代理.Siteminder将负责用户的身份验证过程,因此您不必担心密码并将凭据传递给Siteminder.此身份验证过程对应用程序完全透明.
一旦用户通过Siteminder进行身份验证,Web代理将向请求添加特定的HTTP标头,其中包含用户信息(用户名,电子邮件地址,应用角色,其他信息......).
应用程序只需要在传入的HTTP请求中获取并信任这些信息.

B.你有两种方法可以做到这一点:

  1. Siteminder可以在标题中添加这些信息,因此您不必处理它们.
  2. 如果您确实需要数据库中的这些信息,Barra已经为您提供了最重要的信息.


小智 2

A. 用于创建 SiteMinder 会话的 API,但您需要用户输入凭据

B. SiteMinder 不使用它自己的用户存储库。它被外包给可选的 LDAP 或数据库服务器。因此您无需通过 SiteMinder 即可处理该组件