共享会员提供商

时间:2010-01-15 09:13:59

标签: asp.net-mvc authentication forms-authentication

我们已经在我们的某个应用程序中创建了一个自定义成员资格提供程序,现在我想为所有应用程序使用相同的提供程序,这样您只需登录一次并在应用程序之间切换时保持登录状态

仅仅通过在web.config中使用相同的提供程序来处理不同的应用程序并不起作用,我们仍然需要为每个应用程序登录。也许它不可能自动执行此操作,您是否必须手动检查cookie?

你们有没有资源阅读或建议我真的很感激。

2 个答案:

答案 0 :(得分:1)

如果您正在谈论某种单点登录,也许您需要考虑创建某种类型的网关系统,用户可以对其进行身份验证,这将发出其他系统可用于进行身份验证的令牌。一个非常基本的架构可以这样工作:

用户登录您的网关系统,如果他们已成功通过身份验证,则会生成令牌,将其作为记录存储在数据库中,然后发送回客户端。客户端然后重定向到任何应用程序,以某种方式向它发送令牌,可能通过浏览器中的查询字符串。然后,应用程序通过检查网关系统应该输入的数据库中的有效记录来验证其请求。

这是一种非常基本的方法,显然存在各种各样的安全问题,您需要考虑这些问题。您需要散列令牌并设置到期等。

答案 1 :(得分:1)

最简单的:在web.config中你有类似的东西:

      <authentication mode="Forms">
        <forms name=".ASPXFORMAUTH" loginUrl="Login.aspx" domain="YOURDOMAIN" 
         ...

如果您的应用程序可以按“域”属性分组 - 那么安全cookie将成功转移。