2015-04-22 75 views
0

我有一个网站,我的网站有20个API调用(REST)。对于每个呼叫都需要用户/通行证输入。检查/验证和重用CodeIgniter会话

API调用可以从C++,Python和PHP,Java和ASP等进行...

这个问题我现在已经是它创建吨会议。我想更改此设置以允许所有呼叫重新使用分配的会话标识。

所以第一个电话将被“鉴定”,这个返回一个令牌(加密的会话ID)

然后我解密此标记,并检查是否存在于数据库中的会话ID。如果是这样,我想加载或分配此会话

我从ellislab解释会话找到一个pge,但它不帮助我,因为此页面创建新会话。

例如:

呼叫#1:认证(用户名,密码)

呼叫#2:get_report(令牌,1)//获取的报告ID 1

呼叫#3:ADD_USER(令牌,[用户数据数组])

如何在codeigniter中重用会话?

+0

@RyanVincent我编辑我的问题,但对REST从任何代码(PHP,JAVA等) –

+0

感谢编辑的问题需要 - 它帮助。 –

+0

也许有用:[使用CodeIgniter的RESTful服务](http://outergalactic.org/blog/restful-services-with-codeigniter/)。包含对[CodeIgniter Rest Server](https://github.com/chriskacerguis/codeigniter-restserver)的引用 –

回答

0

如果不存在,您只需要在会话中保存令牌。

1)从您的请求中获取令牌形式,如用户名我认为用户名对您而言是唯一的。

2)

$this->load->library('session'); 
$user_data = $this->session->userdata('$username'); 
if(!empty($user_data)){ 
//use the same session 
}else{ 
$this->session->set_userdata('$username', 'isvalid'); 
}