首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >laravel如何从会话中获得用户id?

laravel如何从会话中获得用户id?
EN

Stack Overflow用户
提问于 2018-11-24 10:58:58
回答 1查看 1.9K关注 0票数 3

好的,现在我知道如果我为会话使用文件驱动程序,会话将存储在/storage/framework/sessions中,当我回显Session::getId()时,我得到存储在存储中的会话Id。

当我打开那次会议时,它看起来就像这样:

代码语言:javascript
复制
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中的另一个框架构建另一个应用程序,但是他们应该拥有相同的用户),我能从会话中获取用户吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-14 09:22:14

在我的应用程序中,我找到了作为这个动态键"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d“的值列出的user_id

这就是我运行的获取所有用户会话的方法&标识他们的会话id以及用户id:

代码语言:javascript
复制
        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>";
                }
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53457423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档