Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs+;Slim框架:使用php会话的RESTful身份验证_Php_Angularjs_Authentication_Slim - Fatal编程技术网

Angularjs+;Slim框架:使用php会话的RESTful身份验证

Angularjs+;Slim框架:使用php会话的RESTful身份验证,php,angularjs,authentication,slim,Php,Angularjs,Authentication,Slim,我正在尝试为一个网站构建一个小的API服务,它的前端将使用Angularjs。一切都很好unil…我尝试实现身份验证! 我创建了一个简单的auth方法来检查用户是否登录: function authenticate(\Slim\Route $route) { $app = \Slim\Slim::getInstance(); if(!isset($_SESSION)){ session_start(); } if(!isset($_SESSION[

我正在尝试为一个网站构建一个小的API服务,它的前端将使用Angularjs。一切都很好unil…我尝试实现身份验证! 我创建了一个简单的auth方法来检查用户是否登录:

function authenticate(\Slim\Route $route) {
    $app = \Slim\Slim::getInstance();
    if(!isset($_SESSION)){
        session_start();
    }
    if(!isset($_SESSION['user_id']) || $_SESSION['user_id'] == null){
        printError(401, 'You must login to view this content');
        $app->stop();
    }
}
如果我使用Postman REST客户端,这很好:我可以登录,并且只有登录后才能访问安全路由。但是当我将代码放入Angularjs(使用$http.post方法)中时,我可以登录(显示成功消息),但随后就像
$\u SESSION
变量保持未设置一样

因此,有两个问题:

  • 使用
    $\u SESSION
    存储变量并检查用户是否登录正确吗
  • 为什么这对邮递员有效而对Angularjs无效
谢谢,,
卡米洛

治疗加上休息等于问题。看看如何使用授权头。基本上,向slim请求授权令牌(可能是Json Web令牌),然后将其包含在后续请求中。有很多教程。谢谢@Cerad,我已经通过JWT完成了。