0

此代码仅在我做一个简单的帖子或获取请求时才有效。

   public function authenticate(CakeRequest $request, CakeResponse $response) { 
        //some code - facebook
    }

但就我而言,我有两个选择。通过 facebook 或普通登录(表单)登录。

目前的问题是,当我点击提交表单时,功能验证也会被执行。所以我的问题是:我如何检测 Post 请求的名称是什么?就像是isset($_POST['submitted_fb']

主要问题是当我执行任何 Post 请求时总是调用该函数。

4

1 回答 1

1

仅当您未登录或无权查看页面时才会进行身份验证。

做这样的验证:

public function authenticate(CakeRequest $request, CakeResponse $response) { 
     if($request->data['loginType'] == 'facebook') {
         // Do facebook login
     } else {
         // Do form login
     }
}

并在您的视图中添加一个隐藏的表单:

echo $this->Form->input('loginType', array('type' => 'hidden', 'value' => 'facebook'));
于 2012-08-25T21:08:21.647 回答