3

我正在使用社交连接器模块来集成 Facebook 登录。

您能否让我知道如何将其集成到一个页面中,该页面将在任何用户浏览该站点的任何页面时显示给任何用户,并且一旦他使用其 Facebook 凭据登录,将显示该站点的请求页面。

4

2 回答 2

0

如果我理解正确,您想确保他们在显示任何内容之前通过 Facebook 登录?
在快速浏览完管理员和开发人员指南后,我认为您应该能够使用 Sitecore Rule

Condition将在where the current user is connected to the specific social network其中将“特定”设置为 Facebook。此规则随模块一起提供。您的(自定义)Action可能类似于“将上下文项设置为特定项”,其中特定项是您的登录页面(请记住,您可能希望排除该页面以运行Rule以防止无限循环,假设您的登录页面也是在 Sitecore 中)。

剩下的就是启动页面加载规则。要了解 Sitecore 是如何做到这一点的,ConditionalRenderingsRules您可以使用Reflector,并EvaluateSitecore.Pipelines.InsertRenderings.Processors.EvaluateConditions.

于 2013-11-08T10:06:46.073 回答
0

您也可以通过代码实现这一点:

    private void Page_Load(object sender, EventArgs e)
        {
            string fbId;
            if (Request.QueryString["authResult"] != null && IsFacebookLogin(out fbId))
            {
                var facebookDataItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home/FacebookData");
                Response.Redirect(facebookDataItem.Paths.Path.Replace(facebookDataItem.Paths.ParentPath, ""));
            }
        }

public bool IsFacebookLogin(out string fbId)
        {
            fbId = string.Empty;
            if (!Sitecore.Context.User.IsAuthenticated) return false;

            fbId = Sitecore.Context.User.Profile.GetCustomProperty("fb_id");
            return !string.IsNullOrEmpty(fbId);
        }

在这种情况下,如果用户使用 facebook ID 登录,我将进行重定向。您还可以查看此博客文章,了解有关该模块设置和使用的更多详细信息:Social Connected with Sitecore (Facebook) 1:设置、在内容发布和触发 DMS 目标时发布消息

于 2014-07-03T11:25:56.207 回答