【问题标题】:Use same user credentials on multiple different Laravel install?在多个不同的 Laravel 安装上使用相同的用户凭据?
【发布时间】:2017-11-14 10:42:11
【问题描述】:

tl;dr:尝试在不同的其他应用上使用一个应用的用户凭据。尝试了一个解决方案,但我遇到了障碍,正在寻找更好的想法。

--

假设我有 3 个不同的 laravel 5.4 安装,我们称它们为“App1”、“App2”和“App3”。这三个应用程序的功能完全不同,它们可以被相同的用户使用。

目前,用户正在使用 App1,他们的登录凭据和信息都保存在 App1 的数据库中。

App2 与应用 1 位于同一专用网络上,所以当我想让 App1 的用户能够使用他们现有的凭据登录 App2 时,我采用了这种方式:

  1. 使用 App1 的私有 IP 地址在 App2 中创建了指向 App1 数据库的数据库连接;
  2. 在 App2 和 bam 的用户模型上使用了这个新连接,它工作正常。

但现在我想用 App3 提供相同的可能性,但它不在同一个网络中,我开始看到我的实际解决方案的缺点。

我当然可以打开 App1 到 App3 特定 IP 地址的数据库连接并保持当前设置,但我觉得它越来越乱,我想这可能是一个安全风险(我在这方面的知识不够真的知道)。

然后我在想:API?也许护照?这实际上是我应该(并且可以)考虑的道路吗?如果是这样,实现它的简单方法是什么?

【问题讨论】:

  • 最简单的方法是将 App1 的数据库打开到 App3 并使用相同的数据库进行身份验证。现在我假设您出于某些安全原因不这样做,而且我的系统管理知识不足以帮助您。但这正是我对我的一个项目所做的事情,而且效果很好。澄清“开放数据库”。我的意思是通过使其对外部网络开放或为 App3 的 IP 设置例外来使其对 App3 的服务器可用。
  • @devk 是的,这就是我对 App1 和 App2 所做的事情。这些应用程序位于同一个专用网络中,所以我认为这样的安全风险会更小,但是由于 App1 和 App3 必须通过 Internet 进行通信,我只是不确定,和你一样,我的系统管理员知识缺乏在这件事上;-)

标签: laravel laravel-5 single-sign-on


【解决方案1】:

您可能想研究一种 SAML 解决方案,该解决方案允许您在多个应用程序和域之间共享凭据。

您可以使用这个Laravel package 或使用香草php-saml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多