Auth パッケージ

Auth パッケージは Fuel における標準化された認証インターフェイスを提供します。 これにより、ユーザは自分自身で新しいドライバを書くことができ、 基本的なメソッドを保つことで、古いコードに新しいドライバを簡単に統合することもできます。

Auth_Acl_Driver

このドライバは、すべての Auth ACL ドライバの基底クラスです。抽象クラスとして定義されており、 すべての ACL ドライバに汎用なメソッド、 ACL ドライバが必ず実装しなければならないメソッドの 抽象メソッドの定義が含まれています。

静的インターフェイス

使いやすいように、汎用的な Auth 静的インターフェイスを通じて has_access() メソッドは公開されています。

静的インターフェースで使用するには

// もし現在のユーザーが必要な権限を持っている場合 true を返す
$may_access_comments = Auth::has_access('comments[read,write]');

汎用メソッド

汎用メソッドは、 ACL 基底ドライバに定義されており、継承によりすべての Auth ACL ドライバから使うことができます。 これらのメソッドが提供する関数には、特定の ACL とやり取りしたり、アクセス権を確認するものがあります。

クラスに定義されているメソッドのうち、ドキュメントに記載されていないものは内部で利用されてるものなので、直接呼び出さないようにしてください。

get_id()

ドライバのユニーク id を返します。ドライバを区別したり、特定のドライバのインスタンスを選択するために使います。

静的 いいえ
パラメータ なし
返り値 ドライバ id の文字列。
// 'simpleacl' を返す
$id = Auth::acl()->get_id();

set_config($key, $value)

ドライバの config の値を設定します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$key 必須 config のキー名
$value 必須 config のキーの値
返り値 void
// simpleacl ドライバの config に値を設定する
Auth::acl()->set_config('key', 'value');

get_config($key, $default = null)

ドライバの config の値を取得します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$key 必須 config のキー名
$default null 要求したキーに値がなかったときに返されるデフォルト値
返り値 mixed
// get a config value of the simpleacl driver, return false if it doesn't exist
$key = Auth::instance('simpleacl')->get_config('key', false);

抽象メソッド

どの自作 ACL ドライバも、以下のメソッドを用意しなければなりません。また、ここで記載されたとおりに値を返さなければなりません。

has_access($condition, Array $entity)

has_access メソッドは定義済みの ACL ドライバを使って、ユーザがその状況に対してアクセス権を持っているか確認します。

静的 いいえ
パラメータ
パラメータ デフォルト 説明
$condition 必須 ロケーションとそこでの求められる権限を文字列、 または配列で受け取る
$entity 必須 ユーザ、またはグループの識別情報を array(driver_id, id) の形式で。
返り値 論理型、アクセス権が承認された場合 true 、そうでなければ false を返す。
// ユーザがコメント可能か確認
if ( ! Auth::acl()->has_access('comments.create'), array('simplegroup', 1))
{
	Response::redirect('no_admin');
}