我测试了我的新项目API REST的SLIM框架。
我使用认证SSL在线安装了我的Apache CGI服务器上的SLIM:好吧它有效!我可以从我的计算机访问我的资源(例如https://domaine.fr/v1/test)
我用htaccess文件测试了基本身份验证。我使用用户/密码来访问我的资源:它有效!
现在,我想使用https://github.com/tuupola/slim-basic-auth
在SLIM中使用基本身份验证进行测试但它不起作用!它一直在问我登录名和密码!
我的htaccess文件:
Satisfy any
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
我的index.php(苗条):
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->add(new \Slim\Middleware\HttpBasicAuthentication(array(
"realm" => "Here be dragons.",
"users" => array(
"root" => "t00r",
"test" => "test"
)
)));
我不明白为什么它不起作用。
谁可以帮助我?
谢谢
答案 0 :(得分:1)
刚刚测试过,这里有适合您的代码。请注意,由于您使用composer安装依赖项,因此最好使用composer autoloading。
require_once "../vendor/autoload.php";
$app = new \Slim\Slim();
$app->add(new \Slim\Middleware\HttpBasicAuthentication(array(
"realm" => "Here be dragons.",
"users" => array(
"root" => "t00r",
"test" => "test"
)
)));
$app->get("/", function() {
print "Foo";
});
$app->run();
答案 1 :(得分:0)
抱歉我的回复很晚,我开始使用Composer / Slim,我花了一个不眠之夜在我的电脑上进行本地测试(Windows 7)。我安装了Composer for Windows,Slim with Composer和tuupola / slim-basic-auth with Composer。我创建了两条路线,一条是公共的,一条是私人的它在本地工作:“http:// mycomputer / ws-bots”和“http:// mycomputer / ws-bots / admin”,我输入“test / test”并显示消息“admin”。
所以我在两个方面测试了我的VPS Linux(Centos):
第一种方式)我在/ httpdocs / ws-bots / v2 /中复制了filezilla,所以我有:
- Vendor folder,
- Composer.json,
- composer.lock
- And composer.phar
在供应商文件夹中,有:
- Compose folder,
- Ircmaxell folder,
- Slim folder,
- Tuupola folder,
- And autoload.php
我创建了一个虚拟主机:https:// ws2-bots.faistescourses.fr => / httpdocs / ws-bots / v2 / vendor / Slim / slim:好的
我更改了index.php中的自动加载路径“/var/www/vhosts/faistescourses.fr/httpdocs/ws-bots/v2/vendor/autoload.php”:好的
$app-> add (new \ Slim \ Middleware \ HttpBasicAuthentication (array (
"Path" => "/ admin"
"realm" => "Private"
"users" => array (
"root" => "t00r"
"test" => "test"
)
)));
我可以访问:https:/ /ws2-bots.faistescourses.fr:好的
$ app-> get ('/', function () {
print "Public";
});
如果我测试https://ws2-bots.faistescourses.fr/admin:不工作
$ app-> get ("/ admin", function () {
print "Private";
});
我输入“root / t00r”或“test / test”登录/密码:它不起作用!他要我输入登录名/密码。
如果我用/ * .. * /禁用身份验证,我可以访问/ admin。
第二种方式)我在“/var/www/vhosts/faistescourses.fr/httpdocs/ws-bots/v2/上安装了我的VPS,Composer,Slim with Composer和tuupola / slim-basic-auth与Composer “。我改变了路径和autoload.php index.php,如上所述。 我也有同样的问题。如果我使用/../禁用身份验证,则可以正常运行。
所以我不明白,我在其他地方有问题吗?路径?
您可以使用“root / t00r”或“test / test”测试https:// ws2-bots.faistescourses.fr和https:// ws2-bots.faistescourses.fr/admin。
感谢您的帮助!