繁体   English   中英

混合使用Asp.Net和MVC网站的表单身份验证单一登录

[英]Forms Authentication single sign on for Asp.Net and MVC sites mixed

我有一个使用老派asp.net(v2.0)编写的旧应用程序,我需要将该应用程序与使用MVC3,.Net 4.0编写的新站点集成。 (如果需要,旧站点可以升级到4.0)

这可能吗? 我已经读过有关在多个站点上使用带有表单身份验证的SSO的信息,但是所有帖子都涉及多个asp.net或多个MVC站点-我还没有看到有关将两者混合的任何信息。

如果两个站点都在同一个域中,并且具有相同的机器密钥,是否可以使用?

编辑:这个问题的另外一部分,如果可以使用表单身份验证使SSO正常工作,是否还可以允许这两个应用程序使用相同的会话状态服务,从而在应用程序之间共享会话状态? 我知道sessionid存储在cookie中,所以两个应用程序都能为一个用户访问相同的会话信息吗?

表单身份验证受域限制(因为默认情况下cookie受限于域(或子域,如果已配置)。如果在同一域中,则为是。

不过,也可以进行变通以在域之间共享身份验证。

解决方法之一是使用Web服务进行远程身份验证。 所涉及的每个站点都将使用相同的服务进行身份验证,即使身份验证仍是特定于域的,也可以创建一种变通方法,包括将标识值传递给另一个域中的请求。 该标识符将用于基于一些通用标识符(用户ID,电子邮件等)自动认证用户。 由于我们正在谈论http通讯,因此不一定要“ .net特定”,尽管它要简单得多。

还需要考虑OAuth开放式身份验证协议。 几乎所有主要平台都支持OAuth,因此它应该与平台无关。 但是,我不知道“重定向到您的其他应用程序时进行自动身份验证,可能违反了OAuth。如果是这种情况,用户将需要单击按钮以确认某些内容。

OAuth的一个很好的例子就是Stack Overflow和整个Stack Exchange系列站点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM