Sitecore: реализация страницы входа в систему с помощью модуля Social Connector

Я использую модуль Social Connector для интеграции входа в Facebook.

Пожалуйста, дайте мне знать, как интегрировать это в страницу, которая будет показана любому пользователю, когда он просматривает сайт для любой страницы, и как только он войдет в систему со своими учетными данными Facebook, будет показана запрошенная страница сайта.

2 ответа

Если я правильно понимаю, вы хотите убедиться, что они вошли через Facebook, прежде чем показывать какой-либо контент?
После быстрого просмотра руководства для администраторов и разработчиков, я думаю, вы сможете использовать Sitecore Rule,

Ваш Condition было бы where the current user is connected to the specific social networkгде вы устанавливаете "конкретные" для Facebook. Это правило поставляется с модулем. Ваш (обычай) Action это может быть что-то вроде "Задать элемент контекста для определенного элемента", где конкретным элементом является ваша страница входа (имейте в виду, что вы, вероятно, хотите исключить эту страницу для запуска Rule чтобы предотвратить бесконечные циклы, при условии, что ваша страница входа также находится в Sitecore).

Все, что осталось, это запустить правило при загрузке страницы. Чтобы увидеть, как Sitecore делает это для ConditionalRenderingsRules Вы можете использовать Reflector и разобрать Evaluate метод в Sitecore.Pipelines.InsertRenderings.Processors.EvaluateConditions,

Вы также можете достичь этого с помощью кода:

    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. Вы также можете посмотреть этот пост в блоге для получения более подробной информации о настройке и использовании модуля: Социальные сети, связанные с Sitecore (Facebook) 1: Настройка, публикация сообщений о публикации контента и запуск целей DMS.

Другие вопросы по тегам