目前,我的雇主可以通过Web服务服务器上的C#sqlDataAdapters和sqlCommand或应用程序中的组件来访问数据库。这些主要是根据其功能在Intranet和Internet上运行的Windows Forms应用程序。

我已经对WCF进行了很多研究,我认为这对我们很合适。另外,我的经理还拥有ILM(MS身份生命周期管理服务器)的副本,他想用来为我们所有应用程序的身份验证和授权提供SSO支持。

我们的应用程序从数据库请求数据,并且主要在dataTables中返回数据。我知道收藏更好,这只是使用的惯例。因此,我试图找到一种安全的解决方案,通过ILM进行身份验证,然后将数据从webServices服务器返回到数据集中的客户端(首先,稍后迁移到集合)。

我的问题是这项工作还是会太慢?


客户端在WCF请求数据上调用例程
WCF服务器与ILM进行检查以查看是否可以这样做
WCF调用webServices服务器获取数据
数据集或集合将传递回客户端。


如果可行,我将如何连接到ILM进行身份验证。在Web.Config文件中是否有精巧的方法可以做到这一点,还是我必须自己在消息级别上做到这一点?

提前致谢。

最佳答案

我对ILM很熟悉。这不是身份验证服务。 ILM的意思是Identity Lifecule Manager,它很好地描述了它可以做什么。它可以供应新用户,取消供应旧用户,并允许您在身份存储之间复制身份数据。它还提供了密码同步服务。您仍然使用Active Directory或AD LDS(ex-ADAM)或AuthN和AuthZ的其他目录。

虽然ILM存储有关您用户的全部数据负载,但强烈建议您不要直接访问该数据。

[编辑]

ILM不提供LDAP服务。可以将其视为经理:它本身不做任何工作,只是定期重新安排事务。当您的经理以电子邮件形式移动数据时,会以帐户明细的形式移动数据。

ILM是用于管理目录和数据库中的身份的工具。在单个存储,SQL,AD或任何其他存储的上下文中考虑ILM是没有意义的-它的工作是在存储之间封送数据。如果只有一个商店,那么它就没有任何事可做。

这是一个典型的场景:创建一个名为People的SQL表,其中包含firstName,lastName,jobTitle,department,uniqueID,startDate和endDate的列。 ILM已挂接到该表中。它每天进行导入,并且有一个新行。 ILM使用此行中的数据在AD中创建用户ID,在Domino中创建另一个,在另一个SQL数据库中创建一个。它使用jobTitle和department字段来分配AD中的组成员身份,Domino中的邮件列表和SQL中的权限。

用户开始工作数周,然后辞职。您在表中设置endDate,ILM会在下次导入时注意到此更改。它将更新AD帐户在该日期到期,并存储延迟的操作以在90天后将其删除。 90天后,它将删除该帐户。其他帐户也是如此。

您可以使用人员系统来代替SQL表,但是(a)格式通常格式不正确或维护时间不够及时(b)他们常常想让您访问其数据。

10-08 17:29