此代码仅在我执行简单发布或获取请求时有效。
public function authenticate(CakeRequest $request, CakeResponse $response) {
//some code - facebook
}
但在我的情况下,我有两个选择。通过Facebook登录或正常登录(表格)。
目前问题是,当我点击提交表单时,还将执行功能身份验证。所以我的问题是:如何检测Post请求的名称是什么?像isset($_POST['submitted_fb']
主要问题是当我做任何Post请求时总是调用函数。
答案 0 :(得分: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'));