2017-03-18 12 views
1

단일 페이지 REST 응용 프로그램이 있는데 거기에 몇 가지 간단한 인증을 추가하려고합니다. 로그인 만하면 등록 할 필요가 없습니다. 간단한 PDO 인증자를 사용하는 HTTP 기본 인증 미들웨어를 Mika Tuupola가 사용하고 있습니다. 이 코드의 일부입니다 :Slim HttpBasicAuth

mypage.dev/roomPictures를 다시로드 한 후 500 개의 내부 서버 오류가 발생했습니다. 너희들 내가 뭘 잘못했을지 모르겠다.

나는이 권리를 이해하고 있는지 알 수 없지만 트리거/roomPictures 후에 사용자 이름과 암호를 묻는 시스템 대화 상자 창을 표시해야합니까?

미리 감사드립니다.

use Slim\Middleware\HttpBasicAuthentication\PdoAuthenticator; 

을 또는 대안으로 미들웨어의 인스턴스 :

+0

봐. –

+0

중복 질문, 답변 [여기] (http://stackoverflow.com/questions/36168362/slim-basic-authentication)을 참조하십시오. –

+0

그것은 내 생각에 꽤 동일하지 않다 – marek

답변

1

중 하나는 코드에 다음 행을 추가하여 오류 로그에서

$app->add(new Slim\Middleware\HttpBasicAuthentication([ 
    "path" => "/roomPictures", 
    "realm" => "Protected", 
    "authenticator" => new Slim\Middleware\HttpBasicAuthentication\PdoAuthenticator([ 
     "pdo" => $pdo 
    ]) 
])); 
+0

나는 두 번째 옵션을 시도했다. "pdo"=> $ pdo 라인에서 편집기는 $ pdo가 정의되지 않은 변수라고 말합니다. 어떻게 해결할 수 있을까요? – marek

+0

$ pdo 변수를 정의하거나 $ pdo 변수를 정의하는 $ container [ 'db']를 전달하십시오. –

+0

이 마음에 드십니까? $ app = 새로운 Slim \ App ([ 'settings'=> $ config]); $ pdo_var = $ container [ 'db']; 그리고 "pdo"=> $ pdo_var ??? – marek