接口编程 / 会话管理"/>
筋斗云接口编程 / 会话管理
会话管理
筋斗云使用cookie机制来维持与客户端的会话。
它默认使用的cookie名称是”userid”,但可以由客户端请求中URL参数_app
来修改,比如_app=emp
,则使用cookie名称为”empid”。
在筋斗云中,_app
参数称为前端应用名,因而不同的应用即使同时在浏览器中打开也不会发生会话错乱和冲突。
示例请求:
GET /mysvc/api.php?_app=emp
如果请求中没有带cookie,则调用将返回HTTP头:
SetCookie: empid=xxxxxx; path=/mysvc; HttpOnly
浏览器根据这个指令来保存cookie。注意cookie的有效路径”/mysvc”是在文件conf.user.php中配置的,有一项P_URL_PATH变量设置:
putenv("P_URL_PATH", "/mysvc");
这个URL路径要与实际访问服务器上的一致。如果服务放在根目录下,就要改设置为putenv("P_URL_PATH", "/")
。
一旦这里设置出错,可能出现登录后仍报未登录错误的现象,因为cookie不可用,无法维持会话。
在代码中,可以用 getBaseUrl() 函数来获取基准URL。比如要返回一个URL路径,就可以用
$url = getBaseUrl() . "notify_url.php";
// $url = "http://myserver/mysvc/notify_url.php"
更多推荐
筋斗云接口编程 / 会话管理
发布评论