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.