From 1d396e24b6ce55f06bdc651cfac753d75304149a Mon Sep 17 00:00:00 2001 From: Nobuo Kihara Date: Sun, 11 Jan 2015 08:23:32 +0900 Subject: [PATCH] docs/guide-ja updated [ci skip] --- docs/guide-ja/output-formatter.md | 4 ++++ docs/guide-ja/security-authorization.md | 37 +++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/docs/guide-ja/output-formatter.md b/docs/guide-ja/output-formatter.md index 3747907..83ec601 100644 --- a/docs/guide-ja/output-formatter.md +++ b/docs/guide-ja/output-formatter.md @@ -53,6 +53,10 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // 出力: 2014/01/01 > Note|注意: フォーマットの仕方は、PHP とともにコンパイルされた ICU ライブラリのバージョンの違いによって異なる可能性がありますし、[PHP intl 拡張](http://php.net/manual/ja/book.intl.php) がインストールされているか否かという事実によっても異なってきます。 > 従って、あなたのウェブサイトが全ての環境で同じ出力を表示することを保証するために、全ての環境に PHP intl 拡張をインストールして、ICU ライブラリのバージョンが同じであることを確認する事を推奨します。 > [PHP 環境を国際化のために設定する](tutorial-i18n.md#setup-environment) も参照してください。 +> +> もう一つ注意してほしいのは、たとえ intl 拡張がインストールされていても、32-bit システムでは、2038 年以降および 1901 年以前の日付・時刻の書式は、ローカライズされた月と日の名前を提供しない PHP の実装にフォールバックする、ということです。 +> これは 32-bit システムでは intl が 32-bit の UNIX タイムスタンプを内部的に使用するからです。 +> 64-bit のシステムでは、インストールされていれば、全ての場合に intl フォーマッタが使用されます。 フォーマッタを構成する diff --git a/docs/guide-ja/security-authorization.md b/docs/guide-ja/security-authorization.md index daeda3c..38bfa12 100644 --- a/docs/guide-ja/security-authorization.md +++ b/docs/guide-ja/security-authorization.md @@ -190,7 +190,9 @@ Yii は二種類の権限付与マネージャを提供しています。すな 前者は権限付与データを保存するのに PHP スクリプトファイルを使いますが、後者は権限付与データをデータベースに保存します。 あなたのアプリケーションが非常に動的なロールと許可の管理を必要とするのでなければ、前者を使うことを考慮するのが良いでしょう。 -次のコードは、アプリケーションの構成情報で `authManager` を構成する方法を示すものです。 +#### authManager を `PhpManager` で構成する + +次のコードは、アプリケーションの構成情報で [[yii\rbac\PhpManager]] クラスを使って `authManager` を構成する方法を示すものです。 ```php return [ @@ -204,11 +206,42 @@ return [ ]; ``` -`authManager` は `\Yii::$app->authManager` によってアクセスすることが出来ます。 +これで `authManager` は `\Yii::$app->authManager` によってアクセスすることが出来るようになります。 > Tip|ヒント: デフォルトでは、[[yii\rbac\PhpManager]] は RBAC データを `@app/rbac/` ディレクトリの下のファイルに保存します。 権限の階層をオンラインで変更する必要がある場合は、必ず、ウェブサーバのプロセスがこのディレクトリとその中の全てのファイルに対する書き込み権限を有するようにしてください。 +#### authManager を `DbManager` で構成する + +次のコードは、アプリケーションの構成情報で [[yii\rbac\DbManager]] クラスを使って `authManager` を構成する方法を示すものです。 + + +```php +return [ + // ... + 'components' => [ + 'authManager' => [ + 'class' => 'yii\rbac\DbManager', + ], + // ... + ], +]; +``` + +`DbManager` は四つのデータベーステーブルを使ってデータを保存します。 + +- [[yii\rbac\DbManager::$itemTable|itemTable]]: 権限アイテムを保存するためのテーブル。デフォルトは "auth_item"。 +- [[yii\rbac\DbManager::$itemChildTable|itemChildTable]]: 権限アイテムの階層を保存するためのテーブル。デフォルトは "auth_item_child"。 +- [[yii\rbac\DbManager::$assignmentTable|assignmentTable]]: 権限アイテムの割り当てを保存するためのテーブル。デフォルトは "auth_assignment"。 +- [[yii\rbac\DbManager::$ruleTable|ruleTable]]: 規則を保存するためのテーブル。デフォルトは "auth_rule"。 + +先に進む前にこれらのテーブルをデータベースに作成する必要があります。 +そのためには、`@yii/rbac/migrations` に保存されているマイグレーションを使うことが出来ます。 + +`yii migrate --migrationPath=@yii/rbac/migrations` + +これで `authManager` は `\Yii::$app->authManager` によってアクセスすることが出来るようになります。 + ### 権限付与データを構築する