2010-12-28 7 views
0

사용자가 서비스에 로그인하고 특정 작업을 수행 할 수 있도록 프런트 엔드를 개발하려고합니다. 모든 작업은 타사의 API를 통해 수행됩니다.API 기반 웹 응용 프로그램의 로그인 자격 증명을 유지하는 방법

PHP & 젠드 프레임 워크로이 작업을 수행하고 있습니다.

내 질문 : 모든 API 호출에서 로그인을 헤더로 전달해야하는 경우 어떻게 하나의 로그인 자격 증명을 유지합니까?

사용자는/login 컨트롤러를 통해 먼저 인증 된 다음 해당 세션에 대해 인증 된 상태로 유지됩니다.

+0

가 아닌 (즉 ==에 기록되지 않음) API에 더 이상 전화를 허용하지 않는 호출 API 호출의 젠드에 의한 서버? 나는 네가 맞다고 생각하지 않는다. –

+0

예, API 호출은 Zend에 의해 호출되지만 각 호출과 함께 사용자의 자격 증명이 필요합니다. 각 호출에 대해 사용자의 자격 증명을 저장하는 방법이 필요합니다. – doremi

답변

1

나는 당신이 Zend_auth_adapter사용자 정의 쓸 수와 나는 그것이 API 통해 로그인 데이터를 단일 클래스을 검증 할 수 있도록하고 세션 개체

내에서 결과 개체를 저장하려면 간단한 제안

했다

class My_Auth_adapther implements Zend_Auth_Adapter_Interface { 

    public static function getinstance($username , $password){ 
     return $this->authenticate($username , $password); 
    } 
    private function authenticate($username , $password){ 
    // make sure to check if the session has been already created in order to save one api request 
    // do your api call (login request) her 
    // return false if its not valid 
    // or return stdobject that contain ($username , $password) , for any post usage 
    } 
} 

해당 개체가 존재하지 않는 경우

+0

기본적으로 인증은 사용자 세션이 활성화되어있는 동안 메모리에 저장됩니다. – doremi

+0

세션은 대개'/ tmp' 파일이나 php.ini의 파일로 저장됩니다. 텍스트 일 ​​뿐이므로'Zend_session' 파일을 db에 저장하고 파일 기반 db ..etc를 확장하거나 zendcache (MEMCACHE , APC ..) – tawfekov

+0

감사합니다 - 나는 이것이 내가 필요한 것임을 확신한다. – doremi

관련 문제