我刚刚问过THIS QUESTION并得到了一个相当明显而简单的答案(过于复杂的事情!)
建议的解决方案说每次我联系自己的API时,我都会发送一个'令牌' - 128位说。
相反,我可以检查用户是否首先登录(因此我的网站不必每次都进行授权),如果没有检查帖子中的标记'
我现在要做的是检查每个传入的POST到我的API以获取令牌。
即。使用构造函数来执行此操作而不必添加' has_token'所有控制器中每个方法的方法。
有没有办法在构造函数中执行此操作,以便任何请求都将检查此令牌?
public function __construct()
{
parent::__construct();
if (!$this->authentication->logged_in())
{
if(!POST_DATA['token'] == "tokenValue"){ //PSEUDO CODE HERE FOR WHAT I WANT TO BE ABLE TO DO
redirect('auth/login', 'refresh');
}
}
}
基本上是否有办法拦截来自未登录用户的所有帖子数据,并检查该帖子是否有“令牌”#39;在继续之前设置 - >如果不是,我将返回错误'无效令牌'或者'令牌丢失' (我知道上面的代码不会这样做!)
提前致谢。
答案 0 :(得分:1)
这是对的吗?检查用户是否已登录,如果用户未登录,请检查$ _POST是否有令牌,然后检查令牌是否有效?
if ( ! $this->auth->logged_in() )
{
if ( $this->input->post('token') )
{
if ( ! $this->token_model->check_token($this->input->post('token')) )
{
// Invalid token....
}
}
else
{
// No token found
}
}