我不是一个出色的开发者,所以我想我遇到的问题对我来说很重要。
我有一个项目,我有当前语言的不同子域名。当我登录用户时,仅记录当前子域。因此,当我登录“en.Aproject.com”,然后转到“de.Aproject.com”时,用户将不会登录。他们不会共享会话。我已经尝试修改'domain'=> null,在app / sessions.php中。但是当我在这里更改值时,Login根本不起作用。然后每次在DB中创建一个新的Session-row时,Laravel似乎都不会识别它们。
当前域以某种方式保存在会话标识符中吗?是否可以为不同的域使用一个会话?我找到了一些关于OAuth和单点登录的内容,但我不能自己处理它。
我正在考虑(登录并且凭据正确时)通过Ajax调用脚本,该脚本应该为用户登录所有需要的域。但我必须做同样的注销..而且我可能会有很多域名。该项目将有一个基页和几个子项目(所有子项目都有不同的语言)。喜欢这个
mainproject.com
en.mainproject.com
de.mainproject.com
...
Aproject.com
en.Aproject.com
de.Aproject.com
...
Bproject.com
en.Bproject.com
de.Bproject.com
...
因此,登录用户喜欢20个不同的页面并创建20个会话会感觉不对...只为所有会话使用一个会话会感觉更好。
好的,我希望你能理解这个问题,并且有人已经遇到了同样的问题并找到了解决方案。谢谢!!!!!!!!映入眼帘。 gerti
背景信息..我使用的是Laravel 4.2
现在我尝试了一些东西,也许它可以帮到某个人。实际上第2点对我来说很奇怪(见下文)
我展示了这三件事:
会话::的getId()
Auth :: getName()
的var_dump(会话::所有())
我在“de.Aproject.com”上显示它们。我在这里登录。
我在“en.Aproject.com”上显示它们......我还在哪里登出(我想解决的问题:D)
答案 0 :(得分:0)
由于默认的Laravel身份验证系统使用cookie来管理会话,因此您实际上需要在要使用的每个子域上登录用户。为避免这种情况,您可以使用另一个会话驱动程序,如数据库。