Zend 프레임 워크-인증
인증은 모든 웹 애플리케이션에서 가장 중요하고 필수적인 기능 중 하나입니다. Zend Framework는 인증을 처리하기위한 별도의 구성 요소를 제공합니다.zend-authentication.
인증 구성 요소 설치
인증 구성 요소는 다음을 사용하여 설치할 수 있습니다. Composer 명령.
composer require zendframework/zend-authentication
개념
일반적으로 개발자는 데이터 소스에 대해 사용자 세부 정보를 인증하는 php 함수를 작성합니다. 인증이 완료되면 인증 세부 정보가 후속 요청에 대해 유지됩니다. Zend Framework는이 개념을 일반화하고 아래에 설명 된 두 가지 클래스를 제공합니다.
클래스 1 Zend \ Authentication \ Adaptor \ AdaptorInterface
이 클래스는 단일 메서드를 제공합니다. authenticate인증 로직을 작성합니다. 인증 메서드는 다음 인스턴스를 반환합니다.Zend\Authentication\Result 수업.
이 Result객체는 인증 상태를 보유합니다. 인증이 성공하면 ID를, 인증이 실패하면 오류 메시지를 표시합니다. 인증 인터페이스 및 결과 클래스의 서명은 다음과 같습니다.
AdaptorInterface
namespace Zend\Authentication\Adaptor;
public function authenticate() {
// code
}
Result class
namespace Zend\Authentication;
class Result {
public function __construct($code, $identity, array $messages = []);
}
Zend 프레임 워크는 데이터베이스, ldap, http 기본 및 다이제스트 자격 증명에 대해 인증하는 기본 구현을 제공합니다. 안Adaptor 인증하지만 향후 요청에 대한 세부 정보를 유지하지 않습니다.
클래스 2 Zend \ Authentication \ AuthenticationService
AuthenticationService는 인증 목적으로 이미 구성된 어댑터를 사용하는 기본 구성 요소입니다. 인증이 완료되면 인증 세부 정보를 유지하고 방법을 제공합니다.hasIdentity() 신원이 있는지 확인하려면 getIdentity() 인증 세부 정보를 얻고 clearIdentity() 인증 세부 정보를 지우려면
이 AuthenticationService를 사용하는 부분 코드 목록은 다음과 같습니다.
$adap = new Adapter($username, $password);
$auth = new AuthenticationService(); $result = $auth->authenticate($adap);
if($result->isValid) { $identity = $auth->getIdentity(); } else { // process $result->getMessages()
}
// clear
$auth->clearIdentity();
인증과 관련된 항목은 두 개의 개별 모듈로 패키지화되어 있습니다. zend-permissions-acl 과 zend-permissions-rbac. zend-permissions-acl은 액세스 제어 목록을 기반으로하고 zend-permissions-rbac는 역할 기반 액세스 제어 목록을 기반으로합니다. ACL 및 RBAC 개념의 높은 수준의 추상화를 제공하고 엔터프라이즈 급 애플리케이션 작성을 지원합니다.