Kohanaでステートレスなシステムを構築したいので、セッションは使いたくない。すべての要求でユーザー名とパスワードを送信し (この時点では、これらの資格情報の転送方法は関係ありません)、Kohana で資格情報が正しいことを確認し、関連するデータまたは 401 で応答したいと思います。
おそらく Auth モジュールを拡張する必要があることは理解していますが、何らかの理由で 500 を取得し続けます。これが私が試していることです:
クラス/Auth.php
<?php defined('SYSPATH') OR die('No direct access allowed');
class Auth extends Kohana_Auth {
public static function checkCredentials($username, $password) {
return TRUE;
}
public function password($username) {
parent::password($username);
}
public function check_password($password) {
parent::check_password($password);
}
protected function _login($username, $password) {
parent::_login($username, $password);
}
}
クラス/コントローラー/Frontdesk.php
<?php defined('SYSPATH') or die('No direct script access.');
abstract class Controller_Frontdesk extends Kohana_Controller {
public function before() {
parent::before();
// If not logged in, throw exception
if (!Auth::checkCredentials('john@acme.com','fido')) throw new HTTP_Exception_401();
}
}