如何在 laravel 的公共目录中使用会话
Posted
技术标签:
【中文标题】如何在 laravel 的公共目录中使用会话【英文标题】:How to use session in public direcory in laravel 【发布时间】:2019-07-15 00:54:13 【问题描述】:我设置了用户登录时获取用户名的会话
但是当我想在公共目录中 echo
它时,我不能 echo
并且我不知道我可以声明
在控制器中
session(['sessionName' => 'Karim']);
公开
echo $_SESSION['CKFinder_UserRole']
这给了我一个致命错误:
未定义的变量
请帮助我。谢谢
【问题讨论】:
你可以使用 LaravelsAuth::user()->name
来获取当前登录用户的(用户)名。另外,您正在设置'sessionName'
,但打印'CKFinder_UserRole'
?! “在公共目录中”是什么意思?
很抱歉,我在问题中犯了一个错误。在 public/plugins/elfinder 我回显会话名称与控制器相同。我使用 elfinder,它的文件管理器在公共目录中,所以我想设置会话,让登录的用户可以使用文件管理器
你可以使用 Laravels Auth::check()
... 检查用户是否登录
所以我知道,但我在哪里可以查看?例如在管理员登录的管理员控制器中,可以看到文件管理器,但文件管理器的页面在公共目录中,它没有控制器
恕我直言,public
文件夹中不应有任何“页面”,“页面”将使用视图创建。将您的页面从public
移动到控制器方法,添加路由以便您可以使用中间件等。或者,看看github.com/barryvdh/laravel-elfinder
【参考方案1】:
你可以这样做, 在控制器中,
return back()->with('name','Hello');
在视图中,
Session::get('name')
希望这会有所帮助:)
【讨论】:
这是准确点!!!我知道如何在视图中声明,但我的页面不在 public/plugins/elfinder 中的视图中以上是关于如何在 laravel 的公共目录中使用会话的主要内容,如果未能解决你的问题,请参考以下文章