CakePHP Basic Auth 重定向到浏览器


CakePHP Basic Auth redirect on browser

我正在使用CakePHP(2.5.6)进行开发,我的目标是同时使用表单和基本身份验证。

我需要这个,因为我使用基本身份验证从 android 应用程序调用一些休息操作。如果用户使用浏览器访问网站,我想使用表单身份验证。

我设置了我的AppController来支持两者,这工作正常。但是,如果我访问需要身份验证的操作,则会弹出基本身份验证警报。

最好的方法是重定向到用户 ->登录。但是首先弹出基本的身份验证警报。

我该如何解决这个问题?有没有更好的解决方案?

我自己解决了这个问题。

我为 api 调用添加了路由前缀。

Configure::write('Routing.prefixes', array('api'));

core.php文件中。

现在我可以在AppController之前的过滤器中触发 api 调用,并仅为 api 调用添加基本身份验证。

public function beforeFilter()
{
   if(isset($this->request->params['api']))
   {
        // api call
       // Pass settings in
       $this->Auth->authenticate = array(
            'Basic' => array('userModel' => 'User')
       );
   }
}

示例操作。

帖子控制器 -> 索引

public function api_index {
}

网址: domain.de/api/posts/index.json