gpt4 book ai didi

php - Zend Framework XML-RPC 服务器的身份验证方法

转载 作者:可可西里 更新时间:2023-10-31 23:35:32 24 4
gpt4 key购买 nike

我有一个 Zend Framework 应用程序,其唯一目的是用作 XmlRpc/JSONRPC 服务器。

我主要遵循 this guide 中的哲学对于我的实现方法。我覆盖了 Bootstrap 的 run() 方法来运行 Zend_XmlRpc_Server 对象并将 API 类附加到它。

我想验证任何使用存储在数据库表中的“API key ”运行的 XML-RPC 方法。如果我有传统的 MVC ZF 设置,我会使用 Controller 插件来自动处理身份验证,但我没有那个选项。我现在唯一的解决方案是手动将代码插入每个 API 方法以检查身份验证。

有没有想过用更务实的方法来解决这个问题?我不希望在每个方法的顶部都有一堆重复的代码。

最佳答案

几种解q的方法

  1. 最简单的手动创建 Bootstrap 请求对象并检查 header

    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')
    ;

    }
    }

阅读手册 Zend_Auth。这是一种“zend 方式”。

或者你可以编写自定义 AuthAdaper。这很简单:)

更新 1:

Read this carefully

关于php - Zend Framework XML-RPC 服务器的身份验证方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1938488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com