好的,现在我知道如果我为会话使用文件驱动程序,会话将存储在/storage/framework/sessions中,当我回显Session::getId()时,我得到存储在存储中的会话Id。
当我打开那次会议时,它看起来就像这样:
a:7:{s:6:"_token";s:40:"hgG3c6DQ5XHEvwK7925CmfGUK54dhFPIWB2kFCUz";s:3:"url";a:0:{}s:9:"_previous";a:1:{s:3:"url";s:27:"http://e-learning.local/p2p";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}s:50:"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d";i:6;s:3:"key";s:8:"smothing";s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}}这是本地主机开发,因此无需准备发布会话。
我很想知道,根本就没有用户id或用户名!
为了了解用户,需要匹配的值是什么?
例如,Auth::id()从会话中获取用户id,但是如何获得!如果会话中没有关于用户id或其他内容的指示符:\
此外,如果我为用户提供了会话id,并且不能使用Auth::id()获取用户id (事实上,我正在使用laravel中的另一个框架构建另一个应用程序,但是他们应该拥有相同的用户),我能从会话中获取用户吗?
发布于 2019-07-14 09:22:14
在我的应用程序中,我找到了作为这个动态键"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d“的值列出的user_id
这就是我运行的获取所有用户会话的方法&标识他们的会话id以及用户id:
foreach (glob(base_path()."/storage/framework/sessions/*") as $filename) {
foreach (unserialize( file_get_contents($filename) ) as $key => $value) {
if(substr_count($key, 'login_web') > 0){
echo "Session ID: " . basename($filename) . " - User ID: ".$value."<br>";
}
}
}https://stackoverflow.com/questions/53457423
复制相似问题