Php 具有共享会话的Yii2高级应用在会话超时时不自动登录

Php 具有共享会话的Yii2高级应用在会话超时时不自动登录,php,yii2,yii2-advanced-app,Php,Yii2,Yii2 Advanced App,我是新来的。我有一个关于Yii2高级模板共享会话的问题 我有一个包含4个子应用程序的yii2高级应用程序: frontend - landing page, login backend - admin panel customer - panel for customers provider - panel for providers 我有一个应用程序,我总是从前端应用程序登录,根据我的角色我被重定向到客户、提供商或后端应用程序 一切正常,直到我的会话超时。在这三个内部应用程序中,我成为未经授

我是新来的。我有一个关于Yii2高级模板共享会话的问题

我有一个包含4个子应用程序的yii2高级应用程序:

frontend - landing page, login
backend - admin panel
customer - panel for customers
provider - panel for providers
我有一个应用程序,我总是从
前端
应用程序登录,根据我的
角色
我被重定向到
客户
提供商
后端
应用程序

一切正常,直到我的会话超时。在这三个内部应用程序中,我成为未经授权的用户。刷新页面没有任何作用,但是当我打开
frontend
页面并再次尝试登录时,
frontend
不会显示登录表单,而是将我重定向到具有新会话的其中一个应用程序

看到它不再向我询问凭据,我似乎可以使用
frontend
app自动登录,但自动登录在其他三个应用程序中不起作用

我已使用此问题中的答案为我的所有应用程序创建了共享会话:


提前感谢

是否在所有应用程序中启用了
启用登录
参数

'enableAutoLogin' => true,
如果是,即使您在应用程序之间共享了会话,当您第一次执行
php init
命令(对于yii2 advanced)时,请注意它会为每个应用程序生成不同的
cookieValidationKey
。这些验证密钥用于自动登录过程。由于所有应用程序都有相同的cookie,因此
cookieValidationKey
也应该相同

这些验证键存储在每个应用程序的
main local.php
config文件中(
frontend
backend
文件夹)。在您的情况下,我想,您有额外的
customer
provider
文件夹)

解决方案之一是将粘贴
cookieValidationKey
frontend/config/main local.php
复制到其他
main local.php
文件。理想情况下,您必须更改根文件夹中的
init
文件,使其为所有模块/应用程序生成一个
cookieValidationKey


希望能有帮助。

谢谢!我减少了会话超时并进行了检查,似乎它起作用了!