问答 / 0 / 3 / 创建于 9年前
Sessionguard类中的getName()方法:
/** * Get a unique identifier for the auth session value. * * @return string */ public function getName() { return 'login_'.$this->name.'_'.sha1(static::class); }
是如何确定唯一的session id,并从中拿到当前登录用户的?
试了一下, sessionguard会为每一个客户端保存一个session文件,这个session文件里面存储有当前用户的id。 session文件里面还有一些奇怪的东西。具体是怎样用cookie找到对应的session还要看session的代码。
SessionGuard里面的name只是你应用使用的guard名,在配置文件auth.php的defaults选项里,比如你使用的是web,那么这个name就是web,SessionGuard::getName()返回的字符串只是session数组里的一个key而已,而这个key对应的value就是当前登录用的ID。
你想了解Session的具体流程应该看illuminate/session包
illuminate/session
@coodeer 恩恩 现在已经明白着整个流程了 是在sessionstart中间件中处理cookie和session的
我要举报该,理由是:
试了一下, sessionguard会为每一个客户端保存一个session文件,这个session文件里面存储有当前用户的id。 session文件里面还有一些奇怪的东西。具体是怎样用cookie找到对应的session还要看session的代码。
SessionGuard里面的name只是你应用使用的guard名,在配置文件auth.php的defaults选项里,比如你使用的是web,那么这个name就是web,SessionGuard::getName()返回的字符串只是session数组里的一个key而已,而这个key对应的value就是当前登录用的ID。
你想了解Session的具体流程应该看
illuminate/session包@coodeer 恩恩 现在已经明白着整个流程了 是在sessionstart中间件中处理cookie和session的