Sitecore:使用社交连接器模块实现登录页面

Sitecore:使用社交连接器模块实现登录页面,sitecore,facebook-login,social,sitecore7,sitecore-social-connected,Sitecore,Facebook Login,Social,Sitecore7,Sitecore Social Connected,我正在使用Social Connector模块集成Facebook登录 你能让我知道如何将其集成到一个页面中,当任何用户浏览该网站的任何页面时,该页面将显示给他,一旦他使用Facebook凭据登录,该网站的请求页面将显示出来 如果我理解正确,您想确保他们在显示任何内容之前通过Facebook登录吗 在快速浏览之后,我认为您应该能够使用Sitecore规则 您的条件将是当前用户连接到特定社交网络的,您将“特定”设置为Facebook。此规则随模块一起提供。您的(自定义)操作可能类似于“将上下文项设

我正在使用Social Connector模块集成Facebook登录


你能让我知道如何将其集成到一个页面中,当任何用户浏览该网站的任何页面时,该页面将显示给他,一旦他使用Facebook凭据登录,该网站的请求页面将显示出来

如果我理解正确,您想确保他们在显示任何内容之前通过Facebook登录吗
在快速浏览之后,我认为您应该能够使用Sitecore
规则

您的
条件将是当前用户连接到特定社交网络的
,您将“特定”设置为Facebook。此规则随模块一起提供。您的(自定义)
操作
可能类似于“将上下文项设置为特定项”,其中特定项是您的登录页面(请记住,如果您的登录页面也在Sitecore中,您可能希望为运行
规则
而排除该页面,以防止无限循环)


剩下的就是启动页面加载规则。要查看Sitecore如何为其
条件渲染规则执行此操作,您可以使用并反汇编
Sitecore.Pipelines.InsertRenderings.Processors.EvaluateConditions中的
Evaluate
方法,还可以通过以下代码实现:

    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登录,我将执行重定向。 您还可以查看这篇博文,了解有关模块设置和使用的更多详细信息: