Bir Doktrin adaptörü kullanırken Zend_Auth / Zend_ACL den rol almak nasıl?

0 Cevap php

Ben doctrine.I her önyükleme doğru yapılırsa inanıyorum kullanarak bir proje ile Zend_Auth kullanıyorum ve ben içeri giriş yapabilirsiniz

Benim adaptör bu gibi görünüyor:

class Abra_Auth_Adapter_Doctrine implements Zend_Auth_Adapter_Interface {

protected $_resultArray;
private $username;
private $password;

public function  __construct($username, $password) {

    $this->username = $username;
    $this->password = $password;

}

//based on feedbacks as response authenticate has changed to this
public function  authenticate() {
    $q = Doctrine_Query::create()
    ->from("Abra_Model_User u")
    ->leftJoin("u.Role r")
    ->where("u.username=? AND u.password=?", array($this->username,$this->password));
    $result = $q->execute();
    if (count($result) == 1) {
        return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $result->get("Mylibrary_Model_User"), array());//autoloaderNamespaces[] = "Mylibrary_" in application.ini
    } else {
        return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, null, array("Authentication Unsuccessful"));
    }
}

Benim Abra_Controller_Pluging_Acl bu gibi görünüyor

class Abra_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract {

public function preDispatch(Zend_Controller_Request_Abstract $request) {
    parent::preDispatch($request);
    $controller = $request->getControllerName();
    $action = $request->getActionName();
    $module = $request->getModuleName();

    $auth = Zend_Auth::getInstance();
    if($auth->hasIdentity()){
        $identity = $auth->getIdentity();
        $roles = $identity["Role"];
        $role = $roles["name"];
        $role = (empty ($role) || is_null($role))? "regular" : $role ;
    } else {
        $role = "guest";
    }

 }

Şimdi sahip Doctrine_Event Fatal error: spl_autoload () [function.spl-özdevinimli_yükle]: Sınıf Doctrine_Event yüklenemedi. Ben bu post here gördüm ve ben o benim Zend_Session kullanarak nasıl etkilediğini merak ediyorum, ve bir sürü bu okuma için ben apc.dll benim php.thanks etkin olması doğrudur

0 Cevap