【问题标题】:Basic auth with Slim no response带有 Slim 的基本身份验证没有响应
【发布时间】:2016-09-21 17:58:41
【问题描述】:

我正在使用 Slim 和 REST 实现基本身份验证。我已经通过 Composer 安装了基本身份验证并使用了以下代码。

<?php

require 'confing.php';
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim;

$app->add(new \Slim\Middleware\HttpBasicAuthentication([
    "path" => "/admin", /* or ["/admin", "/api"] */
    "realm" => "Protected",
    "users" => [
        "root" => "t00r",
        "user" => "passw0rd"
    ],
    "callback" => function ($request, $response, $arguments) {
        print_r($arguments);
    }
]));

$app->get('/getLaboorState/:laboor_id', function($laboor_id) use ($app) {
    $db =getDB();

    $sql="SELECT status FROM laboor WHERE laboor_id='".$laboor_id."'";
    $stmt = $db->query($sql); 
    $items = $stmt->fetchAll();
    echo json_encode($items);


});

$app->run();
?>

当我现在尝试将 /getLaboorState 与 Postman 连接时,它什么也不返回。我在邮递员中使用了相同的用户名和密码,没有任何显示,但是当我进行基本身份验证时,它工作正常。

其他问题是,在实现基本身份验证后,如何限制所有 slim api 在运行查询之前抛出每个 api?

这是邮递员的照片:

注意:那么我想使用 AJAX 的 API。

【问题讨论】:

    标签: php ajax authentication basic-authentication slim


    【解决方案1】:

    你需要使用 $authenticate($app) 来限制所有 slim api 在运行查询之前抛出每个 api

    $app->get('/profile(/)(:id)', $authenticate($app), function($laboor_id) use ($app) {
    //Your logic here
    })->name('profile');
    
    $authenticate = function ($app) {
        return function () use ($app) {
    //your logic here
            if (!isset($_SESSION['ID'])) {
    
                $app->redirect($app->urlFor('loginpage'));
    
            }
       };
    };
    

    使用以下代码显示调用 Ajax 请求时出现的确切错误

    header('Access-Control-Allow-Origin: *');
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    

    希望这有帮助,如果有效,请接受答案..或评论

    【讨论】:

      【解决方案2】:

      您已经配置了两个用户:

      1. 用户名root,密码t00r
      2. 用户名user,密码passw0rd

      根据您的屏幕截图,您尝试使用用户名t00r 和密码passw0rd。这在您的配置中不存在。使用上述用户名密码组合之一。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2020-06-08
      • 2018-01-24
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多