Учебник о том, как настроить несколько приложений laravel 5.1 в одном проекте

В настоящее время я работаю над проектом Laravel 5.1, который включает общедоступный раздел и раздел администратора. При поиске проблемы, с которой я столкнулся, я наткнулся на этот пост в стеке of-other-user-types">управление журналом роли пользователя. Там, где первый пост рекомендует.

Администратор и пользователи в одном и том же приложении laravel — плохая идея просто потому, что приложение будет использовать одну и ту же информацию о сеансе и хранилище. Будет множество случаев egde, которые заставят информацию просачиваться через любые логические «стены», которые вы установили, и в конечном итоге вы потратите слишком много времени на исправление этих просачиваний. Что вы действительно хотите сделать, так это настроить отдельные приложения laravel для каждого: admin.project.com и project.com. Таким образом, вы получаете два отдельных сеанса и хранилище. Все, что вам нужно сделать, это убедиться, что необходимые вам базы данных настроены в обоих конфигурационных файлах database.php. Вы даже можете размещать ОБА проекта на одном сервере с отдельными развертываниями, прослушивая разные порты. ПОВЕРЬТЕ МНЕ, это лучший путь.

Кто-нибудь может подробно объяснить, как это можно сделать? Я имею в виду, как мне настроить свой проект. Я знаю, что им легко использовать одну и ту же БД, и это легко настроить. Первый вопрос: как мне использовать URL-адреса admin.mysite.com в качестве раздела администратора и www.mysite.com в качестве общедоступного раздела для моих 2 приложений. Также как настроить его в Azure как веб-приложение? У меня есть одно приложение, которое я сейчас работаю в Azure (нет руководств по 5.1 в Интернете, его каким-то образом развернули).

Так может ли кто-нибудь подробно объяснить, как должна выглядеть настройка проекта и как это должно быть сделано? Не удалось найти руководства для Laravel 5.1, а поскольку настройка 5.1 отличается от 5 и 4.* Я не знаю, как продолжить.


person DarkFeud    schedule 30.10.2015    source источник
comment
Лично с этим не согласен. Правильно управляемая авторизация и права доступа будут (должны) работать. Принципиально это то же самое, что иметь иерархию ролей/доступа для ваших пользователей. Если вы не можете полагаться на то, что это сработает, тогда все приложение сломано. Я добился большого успеха, используя замечательный пакет Sleeping-Owl Admin, который имеет собственную авторизацию, которая решает большинство описанных проблем спящая сова.github.io   -  person Mike Miller    schedule 30.10.2015
comment
@MikeMiller Итак, как бы вы справились с разными типами пользователей, используя один и тот же логин? переписав путь перенаправления в соответствии с типом пользователя, как предлагает ссылка, которую я разместил выше, или что бы вы порекомендовали?   -  person DarkFeud    schedule 30.10.2015
comment
Итак, насколько я понимаю, вы хотите, чтобы пользователи выполняли роли как администратора, так и пользователя? Это было бы невозможно с использованием пакета sleep owls, поскольку пользователи-администраторы полностью разделены (разные аутентификация, пространство имен сеансов и таблица БД). Вам просто нужна иерархия ролей/доступа. Защитите свои маршруты и разрешите доступ к ним только пользователям с соответствующими ролями. попробуйте этот пакет, возможно, github.com/romanbican/roles. Я использовал некоторое время назад для чего-то простого, и это сработало очень хорошо   -  person Mike Miller    schedule 30.10.2015
comment
Прямо сейчас я использую промежуточное ПО для защиты своих маршрутов @MikeMiller   -  person DarkFeud    schedule 30.10.2015
comment
Из коробки? Проверьте промежуточное программное обеспечение, представленное в пакете выше, это даст вам некоторое представление   -  person Mike Miller    schedule 30.10.2015


Ответы (1)


Судя по вашему описанию, вам нужно развернуть 2 приложения с собственными доменами. Если это так, я думаю развернуть ваши приложения администратора и пользователя отдельно в 2 службах Azure Web Apps. Это выгодно для управления, развертывания и масштабирования для каждой стороны ваших приложений. Чтобы настроить субдомены для вашего сайта, вы можете обратиться к Веб-сайты Azure и подстановочные домены и Сопоставление пользовательского поддомена с веб-приложением Azure (веб-сайтом).

Если вы настаиваете на развертывании 2 приложений в одной службе веб-приложений Azure, вы можете попробовать это с перезаписью URL-адреса в IIS Web.config, например.

      <rule name="RewriteRequestsAdmin" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
              <add input="{HTTP_HOST}" pattern="^admin\.XXXX\.com$"/>
          </conditions>
          <action type="Rewrite" url="AdminApp/public/index.php/{R:0}" />
        </rule>
        <rule name="RewriteRequestsUser" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
          </conditions>
          <action type="Rewrite" url="UserApp/public/index.php/{R:0}" />
        </rule>
      </rules>

Чтобы развернуть локальный проект laravel в Azure Web Apps, вы можете использовать инструменты Git или FTP, см. Создать веб-приложение PHP-MySQL в Службе приложений Azure и развернуть с помощью Git. Но по умолчанию папка зависимостей vendor и файлы композитора не будут развернуты в Azure вместе с проектом, поэтому для установки зависимостей нам необходимо войти на сайт консоли KUDU ваших веб-приложений Azure. Вы можете установить композитор на вкладке расширений сайта вашего сайта консоли KUDU, URL-адрес которого должен быть https://<your_site_name>.scm.azurewebsites.net/SiteExtensions/#gallery, а затем запустить команду composer install в корневом каталоге вашего приложения.

Кроме того, вы можете просто использовать командлет на своем сайте консоли KUDU, URL-адрес которого должен быть https://<your-website-name>.scm.azurewebsites.net/DebugConsole, выполните следующие команды:

cd site\wwwroot 
curl -sS https://getcomposer.org/installer | php 
php composer.phar install

Для развертывания laravel в Azure вы можете обратиться к ответу laravel 5.1 в веб-приложении Windows Azure для получения дополнительной информации.

person Gary Liu    schedule 02.11.2015