QQ扫一扫联系
在Web应用程序中,我们经常要跟踪用户身份。当一个用户登录成功后,如果他继续访问其他页面,程序需要继续记录他的身份。
HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以Cookie的形式发送到浏览器,浏览器在后续访问时总是附带此Cookie,这样,服务器就可以识别用户身份。
Web 目录中的请求,通过使用 Laravel 自带的 Session 机制,可以很方便的管理会话。后台只需要通过如下方法获取:
Session::get
获取会话变量Session::put
设置会话变量Session::forget
删除会话变量具体可参考 Laravel Session
Api目录中的请求,需要携带 api-token
请求头。
api-token
。api-token
时,需要覆盖客户端的 api-token
值。api-token
信息,如配置接口 /api/config
、登录接口 /api/login
。具体逻辑可参考 SessionMiddleware.php。
Laravel 的 Cookie 配置信息配置文件位于 config/session.php
,具体可参考以下几个配置
lifetime
:会话有效期,直接控制 Cookie 的有效期,单位分钟,默认为 120 表示 2 小时expire_on_close
:关闭浏览器是否立即过期path
:Cookie 的 Pathdomain
:Cookie 的 域名系统默认的Cookie是加密的,如果不需要加密,可以禁用 Cookie 的加密中间件。
文件位于:app/Http/Kernel.php
注释掉Cookie加密中间件 \Illuminate\Cookie\Middleware\EncryptCookies::class