Web服务登录以检查cakephp中的用户身份验证

时间:2014-10-09 10:55:23

标签: php cakephp

我正在编写一个Web服务来验证用户登录是否有效。下面是放置在UsersController.php

中的Web服务的简单实现
public function webservice_login() 
{
    $this->autoRender = false;
    if ($this->request->is('post')) 
    {   
        if ($this->Auth->login()) 
        {
            echo json_encode(array('ok_msg' => 'User authentication success'));
        }
        else
        {
            echo json_encode(array('fail_msg' => 'User authentication failure'));
        }            
    } 
} 

它不起作用。我收到的错误信息是这样的;

\n\tError: \n\tPostsController could not be found.

\n
\n\tError: \n\tCreate the class PostsController below in file: app\\Controller\\PostsController.php

\n
\n<?php\nclass PostsController extends AppController {\n\n}\n
\n
\n\tNotice: \n\tIf you want to customize this error message, create app\\View\\Errors\\missing_controller.ctp

代码有什么问题?我该如何重写网络服务?我正在使用Cakephp 2.5。奇怪的是,我首先没有名为Post的控制器。

2 个答案:

答案 0 :(得分:1)

错误非常清除,只需阅读错误消息:

  

\ n \ t:错误:找不到\ n \ t \ tPostsController。

确保您的控制器存在。

您实现JSON响应的方式也不是CakePHP'ish。请参阅http://book.cakephp.org/2.0/en/views/json-and-xml-views.html如何做得更好。

我建议您使用JSEND作为回复格式来传达状态。

答案 1 :(得分:0)

确保您没有使用Short hand php tag:

此错误可能是由于使用短的php标记,即"<? ?>"

我建议您使用"<?php ?>"