两个Umbraco网站的单点登录

时间:2012-09-24 02:19:47

标签: c# asp.net umbraco single-sign-on

我在EC2上的同一台机器上运行了两个Umbraco安装程序。 我想允许一个站点的用户使用他们的成员资格在另一个站点上创建帐户,即“登录Facebook”。在我的情况下“在X上使用您的帐户登录Y”。

我目前正在考虑两种方法:

  1. 通过共享数据库 - 我从一个站点重定向到另一个站点上的ASPX,进行身份验证(如果需要),将所需数据保存在共享数据库中并重定向回第一个站点。它会起作用,但我不喜欢它,因为它看起来很难看!

  2. 在环回(10.0.0.127)上创建一个Web服务,并使用它以一种方式发送身份验证信息,以及创建新帐户所需的信息。

  3. 两者都有效,IMO,但我认为可能有更多的Umbraco方式,或者至少可能采用更基于标准的方法。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定您是否使用会员或用户。

如果您正在使用会员而且安全从其他会话中收到电子邮件,则可以通过

自动登录
Member member = Member.GetMemberFromEmail(<email address>);
Member.AddMemberToCache(member);

AddMemberToCache(成员)将在服务器端执行登录,并在客户端计算机上创建成员身份验证cookie。

然后检查登录是否适用于:

if (umbraco.library.IsLoggedIn())
{
...
}

如果您正在共享数据库,GetMemberFromEmail方法将在内部进入数据库时​​获得正确的成员:

enter image description here