我们的应用程序内置于VB6中,并通过Citrix以SaaS模式提供。
我们的订户必须首先通过Citrix登录门户(AD)进行身份验证,以便他们访问其应用程序。每个应用程序都有自己的本地用户存储库,因此除了我们已实现某些单点登录策略的位置外,用户必须输入第二层凭据。
现在,考虑我们打算用Sharepoint服务门户取代Citrix Portal,这将允许我们发布.net内容,同时为遗留应用程序维护Citrix Web。
我们正在开发一个Silverlight应用程序(使用RIA服务),它将连接到SQL数据库(包含用户登录和安全权限)。我们首先使用Forms Authetication来删除应用程序,然后引发关于我们的预期部署模型的争论。
要使用此应用程序,您必须首先使用Windows凭据进入Sharepoint站点进行身份验证,因此这会导致必须为Windows身份验证配置应用程序。如果您尝试深入链接到应用程序而未对门户进行身份验证,则必须将您重定向到门户网站登录页面。
在应用程序中实施第二层身份验证的最佳方法是什么?有没有办法继续使用基于表单但如果用户没有首先向门户进行身份验证,则会阻止对应用程序的访问?
答案 0 :(得分:1)
也许您应该完全依赖表单身份验证并删除Windows身份验证。这可以更好地维护您的客户信息,而无需每次都创建新的Windows帐户,也不会处理丢失的密码,过期的帐户等。
因此,新用户将被重定向到表单登录页面,并且一旦登录,就会重定向到您的silverlight应用程序,该应用程序将使用相同的用户身份验证上下文,因此将能够与您的数据库进行交互。
结论:根据您的方案,使用表单身份验证而不是ASP.NET成员资格提供程序的WSS将是我个人的选择。