【发布时间】:2012-03-30 14:13:45
【问题描述】:
如何在 asp.net mvc 中跨应用程序进行表单身份验证
假设有两个网站 www.xyz.com 和 www.abc.com。
我必须为这两个站点使用相同的用户凭据。如果我将一个应用程序重定向到另一个应用程序,那么它不会要求登录。
【问题讨论】:
标签: asp.net-mvc
如何在 asp.net mvc 中跨应用程序进行表单身份验证
假设有两个网站 www.xyz.com 和 www.abc.com。
我必须为这两个站点使用相同的用户凭据。如果我将一个应用程序重定向到另一个应用程序,那么它不会要求登录。
【问题讨论】:
标签: asp.net-mvc
如果应用程序托管在同一域中(例如 http://foo.example.com 和 http://bar.example.com),您只需在 web.config 中设置身份验证 cookie 的域属性并配置相同的机器密钥即可执行单点登录.该场景在this article中有详细说明。
对于跨域 SSO,由于您无法使用 cookie,因此还有很多工作要做。因此,当从 AppA 传递到 AppB 时,您可以发送身份验证令牌值(POST 或 GET)并让 AppB 对其进行解密并在其自己的域上发出身份验证 cookie。当然,为了解密它,两个应用程序必须配置相同的机器密钥。该场景在this article中有详细说明。
【讨论】:
如何实现单点登录服务?这样当您登录时,您使用 AJAX 调用服务并检索用户会话令牌。您只需将用户会话令牌传递给其他站点,以便您可以验证它并使用相同的用户。
【讨论】: