对同一个域使用不同的会话
Use different sessions for the same domain
我在 Yii2 中构建了 2 个 web 应用程序,但它们在本地网络中工作,所以如果用户需要访问第一个应用程序,他会去例如
http://localhost/adv/web/index.php
和第二个应用程序
http://localhost/arch/web/index.php
问题是:
例如,在用户 john
的第一个应用程序 userid=2 中,
用户 doe
.
的第二个应用 userid=2
如果第一个应用程序中的用户已登录且 ID=2 john
,如果他访问另一个应用程序,他将为其他用户获取 ID=2 的其他用户的会话 doe
如果用户访问其他应用程序,我需要强制用户登录。
您可以在会话中更改变量名称,例如,如果像这样的会话
[ 'userid' => 2 ]
你可以用另一个名字在会话中保存用户 ID,就像这样
[
'adv_userid' => 2,
'arch_user_id' => 4
]
或者如果您很难更改所有名称,您可以在会话中保存
user_id + (password or login)
如果他登录了 adv 应用程序,他的登录将不适用于 arch 应用程序
您可以在其配置中为不同的应用程序设置不同的会话名称。例如 adv
:
'session' => [
'name' => 'session_adv',
],
对于arch
:
'session' => [
'name' => 'session_arch',
],
我在 Yii2 中构建了 2 个 web 应用程序,但它们在本地网络中工作,所以如果用户需要访问第一个应用程序,他会去例如
http://localhost/adv/web/index.php
和第二个应用程序
http://localhost/arch/web/index.php
问题是:
例如,在用户 john
的第一个应用程序 userid=2 中,
用户 doe
.
如果第一个应用程序中的用户已登录且 ID=2 john
,如果他访问另一个应用程序,他将为其他用户获取 ID=2 的其他用户的会话 doe
如果用户访问其他应用程序,我需要强制用户登录。
您可以在会话中更改变量名称,例如,如果像这样的会话
[ 'userid' => 2 ]
你可以用另一个名字在会话中保存用户 ID,就像这样
[
'adv_userid' => 2,
'arch_user_id' => 4
]
或者如果您很难更改所有名称,您可以在会话中保存
user_id + (password or login)
如果他登录了 adv 应用程序,他的登录将不适用于 arch 应用程序
您可以在其配置中为不同的应用程序设置不同的会话名称。例如 adv
:
'session' => [
'name' => 'session_adv',
],
对于arch
:
'session' => [
'name' => 'session_arch',
],