【问题标题】:Authenticating and posting data from android application to cakePHP website验证数据从 android 应用程序到 cakePHP 网站
【发布时间】:2013-01-14 01:06:06
【问题描述】:

我正在构建一个将数据从 Android 设备发布到 cakephp 后端(Web 服务)的应用程序。我最终制作了自己的身份验证对象并像这样发送访问令牌:

class MyAuthenticate extends BaseAuthenticate {

    public function authenticate(CakeRequest $request, CakeResponse $response) {

        $userCont = $this->_Collection->getController();
        $userCont->loadModel($this->_Collection->getController()->modelClass);

        $response = array();


        if (isset($request['data']['access_token']) AND $userCont->User->find('all', array('recursive' => 0, 'conditions' => array('User.access_token' => $request['data']['access_token'])))) {

            //debug( $userCont->User->find('all',array('recursive'=>0,'conditions'=>array('access_token'=>$request['data']['access_token'])))); 
            //die;
            return $userCont->User->find('all', array('recursive' => 0, 'conditions' => array('access_token' => $request['data']['access_token'])));
        }
        else
            return false;//print_r('NOT FOUND');
     } 

然后将此添加到身份验证数组中

public function beforeFilter() {


    $this->Auth->authenticate = array(
        AuthComponent::ALL => array('userModel' => 'User'),

        'Form',
        'My'


    );

我通过向登录页面发布一个带有访问令牌的请求来测试它,这会返回主页(重定向 url)。

现在我想将数据发布到其他控制器操作,例如“添加”发布。如果我使用访问令牌和请求参数将请求发送到例如 mysite/posts/add,它不会发布并返回 ACL 权限错误消息。

我想我需要在登录或其他东西中进行一些重定向或手动重定向?到目前为止,我构建此身份验证对象的逻辑是否正确?

非常感谢。

【问题讨论】:

    标签: android cakephp forms-authentication restful-authentication


    【解决方案1】:

    您可以在控制器中使用 $this->Auth->allow('..ACTION..') 。您现在必须在 Cake-handling 中检查请求的标头,所以我建议在 beforeFilter 方法中使用此检查创建一个单独的 WebserviceController...

    【讨论】:

    • 创建一个名为 WebserviceController 的控制器,并在顶部设置以下变量,如下代码:'' var $helpers = array('Html','Ajax','Javascript'); var $components = array('RequestHandler'); function beforeFilter(){ $this->Auth->allow('service1action', 'etc..');父::前过滤器(); } '''
    猜你喜欢
    • 2012-05-25
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多