Laravel 5.2子域具有不同的会话

时间:2016-08-30 02:17:35

标签: laravel laravel-5.2

我是Laravel的新手。我创建了一个具有特定域组的域和子域。

domain.com

admin.domain.com

在我的domain.com上,用户可以登录。在子域admin.domain.com中,管理员可以登录。我遇到的问题是,当用户登录到根域时,管理子域也会登录。我希望根域和子域具有不同的会话。请帮忙!

2 个答案:

答案 0 :(得分:0)

这个问题不在框架上,我在使用Yii 2.0时遇到了这个问题,因为会话一般来自应用程序密钥,解决方案是使root和subdomain之间的密钥不同

此处的解决方案是,您必须在子域名上Laravel Application key跟随the document

php artisan key:generate
  

应用程序密钥[Idgz1PE3zO9iNc0E3oeH3CHDPX9MzZe3]设置成功。

root和subdomain中的2个键必须不同。

希望得到这个帮助。

答案 1 :(得分:0)

Laravel by default uses a single cookie to keep session data and manage its authentication system, thats why your user keeps logged across your subdomains, because your cookie is still there.

In this case I think you have 2 options:

1st: Create a different auth system using middlewares for each subdomain group to manage sessions (lets say you create/read a different cookie for each subdomain, but this could be a little bit tricky if the same user want to use the app across different subdomains at the "same time").

2nd: Use a different session driver (lets say database e.g.)