\AuthorizationKeyComponent

AuthorizationKey Component

キー認証画面へのリダイレクト、認証処理を行います。
利用方式、対象アクション、認証要素key名称を指定してください。

利用方式
対象アクション

Summary

Methods
Properties
Constants
initialize()
startup()
guard()
getReturnUrl()
check()
validateKey()
$components
$operationType
$controller
$targetAction
$model
$contentId
$additionalId
$AuthorizeKeyAction
OPERATION_REDIRECT
OPERATION_EMBEDDING
OPERATION_POPUP
OPERATION_NONE
_guard()
_redirectStartup()
_popupStartup()
_setErrorMessage()
$_hashKey
N/A
No private methods found
No private properties found
N/A

Constants

OPERATION_REDIRECT

OPERATION_REDIRECT

captcha operation type

OPERATION_EMBEDDING

OPERATION_EMBEDDING

OPERATION_POPUP

OPERATION_POPUP

OPERATION_NONE

OPERATION_NONE

Properties

$components

$components : array

Other components utilized by AuthComponent

Type

array

$operationType

$operationType : string

利用方式

  • OPERATION_REDIRECT
    切り替わり方式
    認証が必要な画面を表示する前に、キー認証画面が自動的に表示される方式です。
    キー認証に成功した後、認証が必要な画面を表示します。
    この場合、キー認証画面、認証Postを当プラグインが処理するため、、 利用プラグインは、AuthorizationKeyを設定するのみです。
    対象アクション名も指定してください。

サンプルコード

public $components = array(
    'AuthorizationKeys.AuthorizationKey' => array(
        'operationType' => AuthorizationKeyComponent::OPERATION_REDIRECT,
        'targetAction' => 'answer'
    )
)
  • OPERATION_EMBEDDING
    埋め込み方式(デフォルト)
    認証が必要な画面に、キー認証パーツを埋め込む方式です。
    切り替わり方式だと画像認証画面だけが表示されることになるが、埋め込み方式は認証が必要な画面の任意の場所に埋め込めます。
    この場合は、AuthorizationKeyComponentを設定、viewファイルへのedit_form.ctpの埋め込み、 正しい回答がされたかのチェックを行う必要があります。

サンプルコード

Controller
public $components = array(
    'AuthorizationKeys.AuthorizationKey' => array(
        'operationType' => AuthorizationKeyComponent::OPERATION_EMBEDDING
    )
)
View
<?php
    echo $this->element('AuthorizationKeys.edit_form');
?>
  • OPERATION_POPUP
    ポップアップ方式
    認証が必要なリンクをクリックされた際に、ポップアップでキー認証画面を表示する方式です。
    キー認証に成功した後、リンク先を表示します。
    この場合、キー認証画面、認証Postを当プラグインが処理するため、、 利用プラグインは、AuthorizationKeyComponentを設定するのみです。
    対象アクション名も指定してください。

サンプルコード

public $components = array(
    'AuthorizationKeys.AuthorizationKey' => array(
        'operationType' => AuthorizationKeyComponent::OPERATION_POPUP,
        'targetAction' => 'answer'
    )
)

Type

string

$controller

$controller : object

call controller w/ associations

Type

object

$targetAction

$targetAction : string

authorization key redirect target controller action

Type

string

$model

$model : string

authorization key target model name

Type

string

$contentId

$contentId : integer

authorization key target content id

Type

integer

$additionalId

$additionalId : string

authorization key target additional id

Type

string

$AuthorizeKeyAction

$AuthorizeKeyAction : array

切り替えタイプのときの切り替え先画面のURLデフォルト値 デフォルトの認証キー画面では困る場合はこの構造データを変更してください

Type

array

$_hashKey

$_hashKey : string

切り替え方式、埋め込み方式の場合 キー入力画面を表示する前のタイミングでセッションに取り扱い認証キー情報を書き込む その書き込むときのセッションキー情報

Type

string

Methods

initialize()

initialize(\Controller  $controller) : void

Called before the Controller::beforeFilter().

Parameters

\Controller $controller

Controller with components to initialize

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

guard()

guard(string  $operationType, string  $modelName, array  $data, null  $additionalId = null) : void

guard リダイレクト型の場合にアクション内で実行をガードする。認証キー入力画面にリダイレクトし、認証が成功するとguard()以降のコードが実行されるようになる。

sample

$this->AuthorizationKey->guard('redirect', 'BlogEntry', $blogEntry, 'pdf');

Parameters

string $operationType

認証タイプ

string $modelName

モデル名

array $data

モデルデータ

null $additionalId

付加ID

getReturnUrl()

getReturnUrl() : string

getReturnUrl get return screen url

Returns

string

check()

check() : boolean

check input response

Returns

boolean

validateKey()

validateKey(array  $data) : boolean

check input response

Parameters

array $data

Hash data for check

Returns

boolean

_guard()

_guard() : void

認証キーチェック

_redirectStartup()

_redirectStartup(\Controller  $controller) : void

_redirectStartup 認証に成功したあとの戻りURLをセッションに保存して 切り替え型の画面を呼び出す

Parameters

\Controller $controller

Controller with components to startup

_popupStartup()

_popupStartup(\Controller  $controller) : void

_popupStartup POPUP型の場合はGetアクセスをはじく POSTが来たときは、送信された認証キーとControllerが指定しているmodel, contentId, additionalIdでDBからデータを取り出し マッチするか確認する 一致しない場合は、前の画面を再度呼び出す

Parameters

\Controller $controller

Controller with components to startup

Throws

\ForbiddenException

_setErrorMessage()

_setErrorMessage() : void

set error message