如何在 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']

这给了我一个致命错误

未定义的变量

请帮助我。谢谢

【问题讨论】:

你可以使用 Laravels Auth::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 的公共目录中使用会话的主要内容,如果未能解决你的问题,请参考以下文章

登录laravel 5后如何获取会话记忆?

如何在 laravel 中获取所有服务器会话的列表?

如何在 Laravel 5.x 中注销过期会话?

如何在laravel中删除公共文件夹

Laravel,访客和用户的公共页面,会话表 user_id null

如何从数据库中获取数据以及会话如何在 laravel 中工作? [复制]