我无法找到在我的应用程序中验证 API 用户的方法。我开始着手构建一个用户可以通过 Web 访问和验证的系统,但是需求发生了变化,我需要实现一些额外的操作,这些操作可以使用 POST API 调用以 RESTful 方式提供。
我创建了一个类,该类扩展CBehaviour
并强制所有未经身份验证的用户重定向到登录页面(在此处的 yii 框架论坛上找到)。问题是所有 API 调用都强制通过相同的逻辑,任何 POST 请求都只是将 HTML 吐出到登录页面。
class ApplicationBehavior extends CBehavior {
private $_owner;
public function events() {
return array(
'onBeginRequest' => 'forceGuestLogin',
);
}
public function forceGuestLogin() {
$owner = $this->getOwner();
if ($owner->user->getIsGuest())
$owner->catchAllRequest = array("site/login");
}
}
我将如何将 API 用户的身份验证与 Web 用户分开?