php-根据经过身份验证的用户LARAVEL设置数据库

我使用的是Laravel 5.6,我想根据经过身份验证的用户设置数据库

就像当user1登录时将DB1设置为认设置一样,而与user2一样,将databse设置为DB2

有什么建议或其他方式可以做到吗?

谢谢

解决方法:

首先,您可以根据您的用户使用相关值更新连接配置详细信息(我在这里假设认连接名称mysql):

// This will overwrite only the values you need updated so you don't have
// to add all of the configuration keys like 'driver', 'charset', etc
config()->set('database.connections.MysqL', array_merge(config('database.connections.MysqL'), [
    'database' => 'new_database',
    'username' => 'new_username',
    'password' => 'new_password',
]));

然后,您只需要重新连接到数据库,它将使用新的配置:

\DB::reconnect('MysqL');

所有这些代码可能最好放在中间件中,因此它会在每次请求时自动运行.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...