PHP前后端session分离,前后端分离后(android和ios端类似)服务器端session管理

传统实现用户登陆一般采用session记录用户登陆信息,前后端分离后依然可以使用session来记录用户信息,不同的是传统形式的一次成功登陆请求后,再点击其他页面时,session一直是存在的,在一定时间内是有效的;而前后端分离的方式请求一次成功登陆后,再次发送新的请求,则会产生新的session,为避免这个问题需要记录session的id号,并在整个请求过程中都记录并传递这个id号,才能保证session的一致性。

下面举例来说明具体使用方法(后端以php为例):

1 前端成功登陆后拿到后端返回的sessionid(假如后端地址为 http://127.0.0.1)

后端获取sessionid示例如下://登录成功

session_start();

$_SESSION['username'] = $result['name'];

$_SESSION['userid'] = $result['id'];

//获取当前session id

$sessionid=session_id();

2 前端登陆后每次向后端发起请求时都要将拿到的sessionid传递给后端,例如 访问 http://127.0.0.1/getDataList.php?sid=sessionid(将sessionid传递给后端),后端可以做如下操作来验证用户登陆信息://获取客户端传递的sessionid

$sessionid=$_GET["sid"];

session_id($sessionid);

//根据session id获得成功登陆后保存的session

session_start();

$userid = $_SESSION['userid'];

//$userid不为空说明为登陆状态

if($userid){

//做相关操作

}else{

//提示尚未登陆

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值