\PermissionComponent

Permission Component

リクエストされたController、もしくは、actionのアクセス許可を、
Currentオブジェクト の権限から判定します。
チェックタイプと許可アクションリストを指定してください。

チェックタイプ
許可アクションリスト

Summary

Methods
Properties
Constants
initialize()
startup()
$type
$allow
READABLE_PERMISSION
CHECK_TYEP_GENERAL_PLUGIN
CHECK_TYEP_CONTROL_PANEL
CHECK_TYEP_SYSTEM_PLUGIN
No protected methods found
No protected properties found
N/A
__allowAction()
__accessCheck()
__checkBlockAccess()
No private properties found
N/A

Constants

READABLE_PERMISSION

READABLE_PERMISSION

コンテンツReadableの定数

CHECK_TYEP_GENERAL_PLUGIN

CHECK_TYEP_GENERAL_PLUGIN

チェックタイプの定数

CHECK_TYEP_CONTROL_PANEL

CHECK_TYEP_CONTROL_PANEL

チェックタイプの定数

CHECK_TYEP_SYSTEM_PLUGIN

CHECK_TYEP_SYSTEM_PLUGIN

チェックタイプの定数

Properties

$type

$type : string

チェックタイプ

  • CHECK_TYEP_GENERAL_PLUGIN
    ページに配置するプラグインの場合に指定します。(デフォルト)
    許可アクションリストに指定された権限から判定します。

  • CHECK_TYEP_CONTROL_PANEL
    コントロールパネルを表示する際に指定します。
    コントロールパネルで動作するプラグインの有無で判定します。

  • CHECK_TYEP_SYSTEM_PLUGIN
    管理プラグインを表示・設定する際に指定します。
    ユーザーが使用できる管理プラグインか否かで判定します。

Type

string

$allow

$allow : array

許可アクションリスト

チェックタイプがCHECK_TYEP_GENERAL_PLUGINの場合に使用される判定リストです。
アクション名 => 権限名の形式で指定してください。
デフォルトでは、indexアクション、viewアクションを許可しています。

サンプルコード

Controller
public $components = array(
    'NetCommons.Permission' => array(
        'allow' => array(
            'add,edit,delete' => 'content_creatable',
            'reply' => 'content_comment_creatable',
            'approve' => 'content_comment_publishable',
        )
    )
)

アクション名に'*'を指定するとコントローラ内すべてのアクションが対象になります。

public $components = array(
    'NetCommons.Permission' => array(
        'allow' => array(
            '*' => 'content_creatable'
        )
    )
)

権限名にnullを指定するとアクセスが許可されます。

public $components = array(
    'NetCommons.Permission' => array(
        'allow' => array(
            'add,edit,delete' => 'null'
        )
    )
)

Type

array

Methods

initialize()

initialize(\Controller  $controller) : void

Called before the Controller::beforeFilter().

Parameters

\Controller $controller

Instantiating controller

startup()

startup(\Controller  $controller) : void

Called after the Controller::beforeFilter() and before the controller action

Parameters

\Controller $controller

Controller with components to startup

Throws

\ForbiddenException

__allowAction()

__allowAction(\Controller  $controller) : boolean

アクションの許可チェック

Parameters

\Controller $controller

Controller with components to startup

Returns

boolean

__accessCheck()

__accessCheck(\Controller  $controller) : boolean

アクセスチェック

Parameters

\Controller $controller

Controller with components to startup

Returns

boolean

__checkBlockAccess()

__checkBlockAccess(\Controller  $controller) : boolean

ブロックのアクセスチェック

Parameters

\Controller $controller

Controller with components to startup

Returns

boolean