Auth 套件

Auth 套件在 Fuel 裡提供一个标准化的認證介面。 这使得我們的使用者能编寫自己的驅动程序,并且輕鬆地将新的驅动程序與舊的程式码整合, 以保持基本方法一致。

Auth_Group_Driver

此驅动是所有 Auth 群組驅动的基础类別。它被定義为一个抽象类別, 該类別包含了通用於所有群組驅动的所有方法, 以及定義給任何群組驅动必須實现的所有抽象方法。

驅动配置

一个群組驅动可以載入它所依賴的額外驅动。一般情況下,这些是 ACL 驅动。 但你的實现情況可以是引進和使用自訂的驅动类型。要做到这一點,添加此結構到你的驅动类別:

// 當載入此群組驅动時自动載入 Simpleacl acl 驅动
	protected $config = array(
		'drivers' => array('acl' => array('Simpleacl'))
	);

靜態介面

为了易於使用,member() 方法透過通用 Auth 靜態介面曝光。

使用靜態介面,你能做到

// 回傳 true 如果目前使用者是群組 16 的成員。
$is_member = Auth::member(16);

通用方法

通用方法被定義在群組基础驅动,而且能透過擴充到達所有的 Auth 群組驅动。这些方法提供功能來與群組互动,并檢查存取。

定義在类別中而沒記錄在此的方法是內部使用,而且不應該直接被呼叫。

get_id()

回傳驅动的唯一 ID。这可被用於識別驅动,或用來選擇一个特定的驅动實例。

靜態
參数
回傳 驅动 ID 字串。
範例
// 回傳 'simpleauth'
$id = Auth::group()->get_id();

set_config($key, $value)

設定一个驅动配置值。

靜態
參数
參数 預設 描述
$key 必要 配置鍵名
$value 必要 此配置鍵的值
回傳
範例
// 在 simplegroup 驅动設定一个配置值
Auth::group()->set_config('key', 'value');

get_config($key, $default = null)

取得一个驅动配置值。

靜態
參数
參数 預設 描述
$key 必要 配置鍵名
$default null 如果請求的鍵不存在時要回傳的預設值
回傳 混合
範例
// 取得一个 simplegroup 驅动的配置值,如果不存在回傳 false
$key = Auth::instance(simplegroup)->get_config('key', false);

抽象方法

你所开发的每个群組驅动必須提供这些所有的方法,且必須回傳此处記錄的值。

member($group, $specific = null)

檢查是否使用者是所給群組中的成員,無論是所有載入的群組驅动, 或只是指定为第二參数的那些。

靜態
參数
參数 預設 描述
$group 必要 群組 ID
$specific null null 以檢查所有,或一个或更多驅动 ID(单一字串或字串陣列)
回傳 布林,是否(所給)的驅动之一将目前使用者註冊为一个成員
範例
if ( ! Auth::member(100) )
{
	Response::redirect('no_admin');
}

// 指定驅动
Auth::member(1, 'simplegroup');

// 多个驅动
Auth::member(0, array('simplegroup', 'genericgroup'));

get_name($group)

取得所給群組名稱的顯示名稱。

靜態
參数
參数 預設 描述
$group null 你想要取得顯示名稱的群組名稱
回傳 混合,取回的群組顯示名稱,或 false 如果所給群組不存在。
範例
// 取得 admin 群組的顯示名稱
Auth::instance('simplegroup')->get_name('admin');