1

我有两个 Umbraco 安装在 EC2 上的同一台机器上运行。我想允许一个站点的用户使用他们的第一个成员身份在另一个站点上创建帐户,例如“使用 Facebook 登录”之类的东西。在我的情况下,“使用您在 X 上的帐户登录到 Y”。

我目前正在考虑两种方法来做到这一点:

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

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

两者都可以,IMO,但我认为可能有一种更 Umbraco 的方式来做到这一点,或者至少是一种更基于标准的方法。

有任何想法吗?

4

1 回答 1

1

我不确定您使用的是成员还是用户。

如果您正在使用会员,并且您可以安全地从其他会话中获取电子邮件,您可以通过以下方式自动登录

Member member = Member.GetMemberFromEmail(<email address>);
Member.AddMemberToCache(member);

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

然后检查登录是否有效:

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

如果您正在共享数据库,则 GetMemberFromEmail 方法将在内部访问数据库时获取正确的成员:

在此处输入图像描述

于 2012-09-24T11:10:01.353 回答