请问laravel框架,如果客户端那边没有cookie机制,只能靠sid来保持用户状态.这种情况下怎么弄才能保证session正常工作呢?我现在项目直接在最前面弄个sidsession_id($sid);处理的,虽然能行,不过真的很烂啊.头疼例如做一个手机应用的api接口,这时候可能需要用户保持登录状态.可是我的安卓程序员说他们那边不想做cookie(说做不了).没办法只能在登录后把sid传给他们就当cookie,然后每次发请求过来的时候用sid开启sessionsession_id($sid);这样才能保证使用.有没有更优雅写的方式处理这样的问题呢?这么做真的太难看了.而且可能会带出其他问题的.
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
写一个BaseController.phpclassBaseController{publicfunction__construct(){//把请求参数session_id载入sessionSession::setId(Input::get('session_id'));}之后的Controller继承BaseController即可classUserControllerextendsBaseController{publicfunction__construct(){parent::__construct();//判断登陆$this->beforeFilter('@filterAuth');}publicfunctionfilterAuth($route,$request){$user=Auth::user();if(is_null($user)){//未登录returnRedirect::guest('user/login');}else{//已登录}}记得每一次请求之后都把session_idSession::getId()注册到模版里面,或者附带在URL上面
添加回答
举报
0/150
提交
取消
