Zend Framework, XML-RPC sunucusu için kimlik doğrulama yöntemleri

1 Cevap php

Ben tek amacı bir XmlRpc / JSONRPC sunucusu olarak hizmet etmek olan bir Zend Framework uygulama var.

Çoğunlukla benim uygulama yöntemi için this guide adlı felsefesini takip ettik. Ben bir Zend_XmlRpc_Server nesnesini çalıştırmak ve buna API sınıfları takmak benim Bootstrap adlı koşmak () yöntemi overrode.

Ben bir veritabanı tablosunda sakladığınız bir "API anahtarı" ile koştu alır herhangi bir XML-RPC yöntemi doğrulamak istiyorum. Ben geleneksel MVC ZF kurulum olsaydı, ben otomatik olarak kimlik doğrulama dikkat çekmek için bir kontrolör eklenti kullanmak istiyorum, ama bu seçeneği yok. Benim tek çözüm şu anda elle kimlik kontrol etmek için her API yöntem içine kodu eklemek edilmektedir.

Herhangi bir bu sorunu çözmek için daha pragmatik yolda düşünceler? Ben her yöntemi üstünde tekrarlanan kod bir demet olmasını tercih ederim.

1 Cevap

q çözmek için çeşitli yollar

  1. kolay elle Bootstrap almayabiliyorlar Nesne oluşturmak ve başlıklarını kontrol

    protected function _initModifiedFrontController()
    {
        $this->bootstrap('FrontController');
        $front = $this->getResource('FrontController');
    
    
    
    $request = new Zend_Controller_Request_Http();
    
    
    $response = new Zend_Controller_Response_Http();
    $response->setHeader('Content-Type','text/html; charset=UTF-8', true);
    $front->setResponse($response);
    $front->setRequest($request);
    
    
    if ($request->isXmlHttpRequest()) {
        $authAdapter = new Zend_Auth_Adapter_DbTable(
            $dbAdapter,
            'users',
            'username',
            'password'
        );
    
    
        // ...or configure the instance with setter methods
        $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
    
    
        $authAdapter
            ->setTableName('users')
            ->setIdentityColumn('username')
            ->setCredentialColumn('password')
        ;
    
    
    }
    
    }

Manuel Zend_Auth okuyun. Bu bir "zend yolu".

ya u AuthAdaper.it 'ın kolay :) özel yazabilirsiniz

GÜNCELLEME 1:

Read this carefully