2014-11-20 4 views
0

영어로 죄송합니다.SLIM BasicAuth no work

새 프로젝트 API REST에 대한 SLIM 프레임 워크를 테스트합니다.

SSL을 사용하여 Apache CGI 서버에 SLIM을 온라인으로 설치했습니다. 제대로 작동합니다. 내 컴퓨터에서 내 자원 (예 : https://domaine.fr/v1/test)에 액세스 할 수 있습니다.

기본 인증 htaccess 파일로 테스트했습니다. 내 ressource에 액세스 할 수 있도록 사용자/암호를 테이프로 만듭니다. 작동합니다!

지금, 나는 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

브라우저에서 묻는 경우 입력 할 사용자 이름과 비밀번호는 무엇입니까? –

+0

"root/t00r"또는 "test/test"를 사용합니다. – mambo

답변

1

테스트를 마쳤으며 여기서는 작동하는 코드입니다. 작곡가와의 의존성을 설치하기 때문에 작곡가 자동 로딩을 사용하는 것이 좋습니다. 내 답장이 늦어 죄송합니다

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(); 
+0

서버가 PHP를 CGI 모드로 실행 중일 수 있습니다. FastCGI 사용에 대해서는 [documentation] (http://www.appelsiini.net/projects/slim-basic-auth)를 참조하십시오. –

+0

도움 주셔서 감사합니다. FastCGI 및 설명서와 함께 작동합니다. – mambo

0

, 나는 작곡가/슬림을 시작하고 내가 잠못드는 밤이 내 컴퓨터 (윈도우 세븐)에서 로컬 테스트 보냈다. Composer with Windows, Slim with Composer 및 tuupola/slim-basic-auth with Composer를 설치했습니다. 나는 두 개의 경로를 만들었는데 하나는 공개이고 다른 하나는 비공개이다. 로컬에서는 "http : // mycomputer/ws-bots"및 "http : // mycomputer/ws-bots/admin"으로 "test/test"를 입력하면 "admin"메시지가 표시됩니다. 에서

- Vendor folder, 
- Composer.json, 
- composer.lock 
- And composer.phar 

: 나는/httpdocs/WS-봇/V2/내가 가지고에서 FileZilla를 복사

첫 번째 방법) :

그래서 나는 두 가지 방법으로 내 VPS 리눅스 (CentOS의) 테스트 공급 업체 폴더가 있습니다 :

- Compose folder, 
- Ircmaxell folder, 
- Slim folder, 
- Tuupola folder, 
- And autoload.php 

나는 가상 호스트를 생성 : https : //로 ws2-bots.faistescourses.fr =>/httpdocs/WS-봇/V2/공급 업체/슬림/슬림 : 좋아

나는 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.내가 https://ws2-bots.faistescourses.fr/admin을 테스트하면 괜찮

$ app-> get ('/', function() { 
print "Public"; 
}); 

: FR이 작동하지 않습니다

$ app-> get ("/ admin", function() { 
print "Private"; 
}); 

내가 로그인/암호 "루트/t00r"또는 "테스트/테스트"를 입력 작동하지 않습니다! 그는 아직 로그인/암호를 입력하라고 나에게 요청합니다.

/* .. * /으로 인증을 사용하지 않으면/admin에 액세스 할 수 있습니다.

두 번째 방법) 작곡가와 함께 VPS, Composer, Slim과 함께 설치하고 "/var/www/vhosts/faistescourses.fr/httpdocs/ws-bots/v2"에서 Composer로 tuupola/slim-basic-auth를 설치했습니다./" 위와 같이 경로와 autoload.php index.php를 변경했습니다. 그리고 나는 같은 문제가 있습니다./.. /으로 인증을 사용 중지하면 작동합니다.

그래서 이해가 안됩니다. 문제가 있습니까? 통로?

"root/t00r"또는 "test/test"로 https : // ws2-bots.faistescourses.fr 및 https : // ws2-bots.faistescourses.fr/admin을 테스트 할 수 있습니다.

도움 주셔서 감사합니다.