php-具有共享会话的Yii2高级应用程序不会在会话超时时自动登录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-具有共享会话的Yii2高级应用程序不会在会话超时时自动登录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1407字,纯文字阅读大概需要3分钟。
内容图文
![php-具有共享会话的Yii2高级应用程序不会在会话超时时自动登录](/upload/InfoBanner/zyjiaocheng/669/a3f5a7a97a0b44ac97f864bc08bad8b2.jpg)
我是新来的.我有一个有关Yii2高级模板共享会话的问题.
我有一个带有4个子应用程序的yii2高级应用程序:
frontend - landing page, login
backend - admin panel
customer - panel for customers
provider - panel for providers
我有一个始终从前端应用程序登录的应用程序,根据我的角色,我被重定向到客户,提供商或后端应用程序.
一切正常,直到我的会话超时.在这三个内部应用程序中,我成为未经授权的用户.刷新页面无济于事,但是当我打开前端页面并尝试再次登录时,前端不会向我显示“登录表单”,而是将我重定向到具有新会话的那些应用程序之一.
看到它不再询问我的凭据,看来我可以使用前端应用程序自动登录,但是自动登录在其他三个应用程序中不起作用.
我已使用本期中的答案进行了所有应用程序的共享会话:
Yii2 Advanced – Share session between frontend and mainsite
先感谢您
解决方法:
是否在所有应用程序中都启用了enableAuoLogin参数?
'enableAutoLogin' => true,
如果是的话,即使您在应用程序之间共享会话,当您第一次执行php init命令(对于yii2-advanced)时,请注意它会为每个应用程序生成不同的cookieValidationKey.这些验证密钥用于自动登录过程.由于所有应用程序都具有相同的cookie,因此cookieValidationKey的cookie也应该相同.
这些验证密钥存储在每个应用程序的main-local.php配置文件中(前端,后端文件夹..在您的情况下,我想您还有多余的customer和provider文件夹)
解决方案之一就是将cookieValidationKey从frontend / config / main-local.php复制粘贴到其他main-local.php文件.理想情况下,您必须在root文件夹中更改init文件,使它为所有模块/应用程序生成一个单独的cookieValidationKey.
希望对您有所帮助.
内容总结
以上是互联网集市为您收集整理的php-具有共享会话的Yii2高级应用程序不会在会话超时时自动登录全部内容,希望文章能够帮你解决php-具有共享会话的Yii2高级应用程序不会在会话超时时自动登录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。