php - Laravel 身份验证和“子域”
问题描述
我正在使用 Laravel 5x,我试图让用户从(例如)登录:
https://dev.example.com/example_authentication/public/login(这是 laravel 的一个实例)
然后当我访问时:
https://dev.example.com/mysecondwebsite/public(这是 laravel 的另一个实例)我可以调用:
$user = Auth::user();
然后获取它是否是用户、管理员、它的名称等。
我尝试的是在 example_authentication 和 mysecondwebsite 的 .env 文件中添加
SESSION_DOMAIN='.example.com'
但会话不会持续。
关于发生了什么的任何想法?
更新:
我在第二个 laravel 应用程序上使用
$user = Auth::user();
出于某种原因,它正在生成自己的会话,作为记录,两个实例具有相同的:
'cookie' => 'vanguard_session'
the same APP_KEY
the same SESSION_DRIVER
解决方案
所以我无法将第一个项目会话集成到后者,但找到了一个$_SESSION
变量的替代方案:
如果你想让这个变量适用于两个项目,你必须session_start();
在两个项目的 public/index.php 上设置。
<?php
session_start();
之后,您可以在每个控制器上使用 $_SESSION 变量,这将显示在您服务器上的任何 PHP Web 应用程序上,我想使用 laravel 的传统方式,但没有运气,关于此要求的信息不多,所以这是另一种选择。
您可以在任何控制器、视图或中间件中像这样使用此变量:
$_SESSION["setyourvarname"]="your value";
然后在控制器、视图或中间件上你可以
$myvariable = $_SESSION["myvarname"]
推荐阅读
- python - Python3多线程?
- javascript - 简洁地包装跨度标签中的每个单词
- heroku - Heroku discord bot 不断重启
- excel - 如何在给定行的Excel中动态加载列
- apache-flink - Flink 水印
- android - 未在面向 Android 11 的应用上实施范围存储
- ruby-on-rails - Rails 按 created_at 的日期对记录进行分组,以日期字符串为键检索哈希
- python - lambda 函数返回对象
- macros - 方案宏 - 将列表展开为一组函数调用
- indexing - 如何在 xarray 中进行经纬度高级索引