Кто-нибудь когда-нибудь пытался интегрировать AspDotNetStorefront и Sitecore? Последние пару дней я пытался придумать, как совместить две системы, но из того, что я могу сказать, это не представляется возможным. Пара проблем, с которыми я столкнулся до сих пор:
- Аутентификация между ними (AspDotNetStorefront имеет собственную реализацию, Sitecore просто использует / расширяет членство .NET)
- Основная библиотека DLL для AspDotNetStorefront - это то, что появляется в трассировке стека, когда я получаю желтый экран, но эта DLL скрыта, поэтому я не могу понять, в чем проблема.
Самая большая проблема заключается в том, что нам нужно сохранить наше существующее приложение AspDotNetStorefront в качестве бэкэнда для электронной коммерции и использовать Sitecore для всего остального. AspDotNetStorefront имеет CMS как часть этого, но это действительно не приемлемое решение для чего-либо, кроме действительно базовых страниц контента.
Есть какие-нибудь мысли о том, как я могу поступить об этом?
EDIT:
Я решил разбить все это на различные проблемы, с которыми я сталкиваюсь в данный момент, и решить каждую из них настолько эффективно, насколько я знаю, как. Я подробно опишу те, что у меня здесь, а затем обновлю, когда столкнусь с новыми.
Проблема 1: Аутентификация между двумя системами.
На самом деле это не так уж плохо, если вы хорошо разбираетесь в билетах для проверки подлинности с помощью форм, чего я не знал в то время, но изучаю достаточно быстро. До тех пор, пока обе системы совместно используют одну и ту же информацию о шифровании, достаточно легко передавать информацию между ними с помощью файлов cookie, как указано ниже в принятом ответе. Другой недостаток заключается в том, что мне нужно было установить CustomerGUID в таблице клиентов AspDotNetStorefront в качестве идентификатора пользователя из пользовательских таблиц Sitecore (стандартное членство в ASP.NET). Пока что этот подход, кажется, работает довольно хорошо (я все еще на стадии проверки концепции.
Еще одна вещь, о которой следует помнить, если вам когда-либо понадобится попытаться сделать это, это то, что AspDotNetStorefront поставляется с веб-службой , которую вы можете использовать для выполнения практически любых задач. Поскольку они используют одни и те же ключи шифрования, я могу войти на стороне магазина, используя этот сервис более безопасно, чем просто передавать пароли в виде открытого текста (я должен был написать метод сам, я не верю, что он будет стандартным, если я ошибаюсь пожалуйста дайте мне знать). Хотя я сомневаюсь, что это огромная сделка, так как все равно это происходит на стороне сервера.
Проблема 2: получение данных о продукте
Этот был немного более хлопотным. У вышеупомянутого веб-сервиса есть несколько проблем, с которыми мне было трудно работать. Однако, поскольку базы данных будут находиться на одном и том же сервере, я просто решил, что, поскольку все, что мне действительно нужно, это цена и идентификатор, я бы пошел дальше и установил столбец ProductGUID каждого продукта в базе данных Storefront в соответствии с идентификатором элемента Sitecore. соответствующего элемента в базе данных Sitecore. Таким образом, мне просто нужен быстрый запрос, чтобы получить ProductID и информацию о цене, которая используется только в нескольких местах. Все остальное будет размещено в Sitecore.
Если у кого-то есть что-то, что можно добавить, не стесняйтесь, насколько я могу судить по Google, на самом деле никто раньше этого не делал, поэтому у меня много проблем с поиском ресурсов по этой конкретной теме.
UPDATE:
Интеграция фактически возможна, и наш сайт работает уже полторы недели, и у него очень мало проблем, связанных с интеграцией. Это не то, что я рекомендую делать на личном уровне, но на самом деле это возможно.