Php 关于如何在一个项目中设置多个laravel 5.1应用程序的教程

Php 关于如何在一个项目中设置多个laravel 5.1应用程序的教程,php,azure,laravel-5.1,web-deployment-project,web-setup-project,Php,Azure,Laravel 5.1,Web Deployment Project,Web Setup Project,我目前正在从事Laravel 5.1项目,该项目涉及公共部分和管理部分。在谷歌搜索我遇到的问题时,我发现了这篇文章。第一篇文章推荐的地方 管理员和用户在同一个laravel应用程序中是个坏主意,因为该应用程序将共享相同的会话和存储信息。将有无数的egde案例会导致信息通过您设置的任何逻辑“墙”泄漏,最终您将花费太多时间修补这些泄漏。您真正想做的是为每个应用程序分别设置laravel应用程序:admin.project.com和project.com。这样您就可以获得两个独立的会话和存储。您需要做

我目前正在从事Laravel 5.1项目,该项目涉及公共部分和管理部分。在谷歌搜索我遇到的问题时,我发现了这篇文章。第一篇文章推荐的地方

管理员和用户在同一个laravel应用程序中是个坏主意,因为该应用程序将共享相同的会话和存储信息。将有无数的egde案例会导致信息通过您设置的任何逻辑“墙”泄漏,最终您将花费太多时间修补这些泄漏。您真正想做的是为每个应用程序分别设置laravel应用程序:admin.project.com和project.com。这样您就可以获得两个独立的会话和存储。您需要做的就是确保在database.php配置文件中都设置了所需的数据库。您甚至可以通过单独的部署在同一台服务器上承载这两个项目,监听不同的端口。相信我,这是最好的办法

有人能详细解释一下怎么做吗?我的意思是我应该如何设置我的项目。我知道他们共享同一个数据库很容易,设置起来也很容易。第一个问题,我如何让URL admin.mysite.com作为我的管理部分和www.mysite.com作为我的2个应用程序的公共部分 另外,如何在Azure中将其设置为web应用程序?我得到了我目前在Azure上使用的一个应用程序(互联网上没有5.1指南,以某种方式得到了部署)


那么,有人能详细解释一下项目设置应该是什么样的以及应该如何完成吗?找不到Laravel 5.1的指南,因为5.1安装程序与5和4不同。*我不确定如何继续。

根据您的描述,您似乎需要部署2个带有自定义域的应用程序。如果是这样,我想在2个Azure Web apps服务上分别部署你的管理员和用户应用。这有利于应用程序的管理、部署和扩展。要为站点配置子域,您可以参考和

如果您坚持在单个Azure Web apps服务上部署2个应用程序,您可以尝试在IIS Web.config中重写URL,例如

      <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>

有关在Azure上部署laravel的详细信息,您可以参考的答案。

个人不同意这一点。适当管理的授权和访问权限将(必须)起作用。它基本上与为用户提供角色/访问层次结构相同。如果你不能依靠它来工作,那么整个应用程序就坏了。我已经成功地使用了令人敬畏的睡眠猫头鹰管理软件包,该软件包有自己的授权,可以处理@MikeMiller描述的大多数问题。那么,您如何使用相同的登录来处理不同的用户类型呢?根据用户类型重写重定向路径,比如我上面发布的链接,或者你会推荐什么?那么,如果我知道你想要同时拥有管理员和用户角色的用户?由于管理员用户是完全分离的(不同的身份验证、会话名称空间和db表),所以使用睡眠owls包是不可能的。您只需要一个角色/访问层次结构。保护您的路由并仅允许具有正确角色的用户访问它们。试试这个包裹吧。我以前用过一些简单的东西,现在它工作得很好,我正在使用中间件来保护我的路由@MikeMillerOut-of-the-box?检查上面包中提供的中间件,它会给您一些想法
cd site\wwwroot 
curl -sS https://getcomposer.org/installer | php 
php composer.phar install