问题:在我们的环境中,我们有十几个应用程序分散在十几个服务器上。某些应用程序使用一次性表单/基于数据库的登录进行保护。某些应用具有在web.config中定义的权限。某些应用程序具有文件夹级NTFS权限集(一些具有域用户帐户,一些具有外部用户的本地用户帐户)。不用说,这绝对是一团糟。
SSO解决方案肯定是有序的,但是我应该构建一个,利用现有的FOSS,或购买一个(如果是的话,哪些?)
我需要能够
如果有人提供方向,我会非常感激。
答案 0 :(得分:2)
ISA Server 2006可能正是您所需要的。 (大致)。
请参阅:http://www.microsoft.com/forefront/edgesecurity/isaserver/en/us/default.aspx
这可以支持基于表单的身份验证,以及针对活动目录的SSO。
这需要对现有系统进行一些标准化,但我更喜欢这种方式,自己编写。
关于批评:
答案 1 :(得分:2)
NoCarrier,我假设您正在使用.NET平台?
如果是这样,我可以建议您自己担任角色。编写一个程序集,它包含各种身份验证要求;在共同的抽象下暴露它们。 IPrincipal很常见,或者(可以说是忙碌的)AuthenticablePrincipal ABC可能很合适?
根据经验,我建议您尝试将权限基础架构迁移到通用技术。如果你已经拥有它,AD可能是最好的。如果是这样,请继续阅读:
对于AD集成,请查看System.DirectoryServices.AccountManagement.PrincipalContext
我怀疑,ValidateCredentials对你特别有用。从PrincipalContext您可以实例化UserPrincipal,其中包括权限请求,我假设(希望)满足您构建自定义门户的许多要求。
答案 2 :(得分:1)
我先说.. 不要偷它!!
我相信你会得到更完整的答案,但简而言之,从长远来看,你自己开发这个问题看起来会更好。你支持一个混乱的产品,以至于没有现成的产品(据我所知)真的打算处理。
通过这种方式,您将能够逐步将系统发展为更好,更强大的系统。添加新应用程序?设计它来做这次正确的事情。我没有看到更好的选择/现有产品来实现这一目标。