我在我的项目的Web开发中使用laravel 4框架。我有5个不同的应用程序(博客,学校管理,报纸......)。这些应用程序具有单独的逻辑,因此显然应将其分成不同的项目,每个项目都有自己的数据库。
问题是
这些应用程序共享它们之间的一些用户。
详细说明:
在我的情况下,如果用户想要输入任何应用程序,他应首先登录。这意味着如果他想访问5个应用程序,他需要登录5次。
所以我想要的是在5个应用程序中的任何一个中登录一次,这样用户就可以从一个应用程序跳转到另一个应用程序而无需另外登录。
注意:应用程序位于同一服务器和域
我正在考虑分享项目之间的会话。这是完成任务的可能或正确方法吗?
如果是,如何在laravel中完成?
如果没有。如何在laravel中解决这样的任务?
答案 0 :(得分:1)
这是您有三个选项,我建议您选择:
<强> 1。使用一个应用程序并包含所有逻辑 您可以为代码库中的不同元素的应用程序逻辑创建不同的库/模块。这是迄今为止最简单的解决方案。
<强> 2。使用多个应用程序但共享会话 应用程序之间共享会话是另一种选择它可能不是一个完全安全/稳定的解决方案,但你当然可以使它工作,它绝对比选项3少得多。
第3。使用单点登录/登录解决方案(如OAuth 2 )使用多个应用程序 最难的解决方案,但非常好的解决方案是在每个应用程序中设置OAuth 2服务器并实现OAuth 2(客户端)。所有大家伙(谷歌,雅虎,Facebook)都实施这个系统,它非常灵活,稳定和安全。
在你的情况下我会选择选项1,因为你想在一个域上运行某些东西。