非常简单的测试用例:
将 lib/Cake/Controller/Component/Auth/BasicAuthenticate.php 复制到 myapp/Controller/Component/Auth/MyAppAuthAuthenticate.php
把它放在我的 Controller/AppController.php 的 beforeFilter() 中
this->Auth->authenticate = array(
'MyAppAuth' => array(
'fields' => array('username' => 'email')
),
伟大的。到目前为止一切正常(在调试日志中跟踪它们表明它们被正确调用。)但是,当我记录这些时:
$username = env('PHP_AUTH_USER'); $pass = env('PHP_AUTH_PW');
他们是空的。在原始的 BasicAuthenticate.php 中,它们被填充。是否有特殊需要才能在自定义组件中看到这些环境变量?其余的环境变量(如 SERVER_NAME 等)都存在。