CakeDC/Usersプラグインの基本的な設定についてまとめます。すべてを理解できていないので、初歩的な設定ついてだけ登場します
設定に関するファイル
設定項目の情報はプラグイン内のファイルにまとまっています。以下のファイルを見ると、どのような設定が可能なのかを見ることができます
1 |
vendor/cakedc/users/config/users.php |
独自設定
その上で、アプリ用の設定を行います。以下のファイルを作成します。ここではログイン後のリダイレクト先URLや、ログアウト後のリダイレクト先を定義しています
config/users.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php return [ 'Users' => [ 'Tos' => [ 'required' => false, ], ], 'Auth' => [ // ログイン後 'loginRedirect' => [ 'plugin' => null, 'controller' => 'Products', 'action' => 'index', ], // ログアウト後 'logoutRedirect' => [ 'plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => 'login', ], 'authError' => "アクセスすることができません", "flash" => [ "key" => "auth", "element" =>"error", "duplicate"=> false ], ], ]; |
その上で、ファイルの読み込みを行います。boostrapファイル内に、追加します
config/boostrap.php
1 2 3 |
// load CakeDC/Users Configure::write('Users.config', ['users']); \Cake\Core\Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); |
アクセス判定
ユーザを作成すると、管理権限ユーザは「superuser」となります。また、普通にウェブサイト側からユーザを作成すると「user」というロールになります。ここでは、ロール名(superuserや、user)などに応じて、コントローラ、アクションへのアクセス権を判定する設定を行います。「SimpleRbac」というProviderで判定する仕組みを利用します
config/permissions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php return [ 'Users.SimpleRbac.permissions' => [ [ 'role' => 'user', 'controller' => '*', 'action' => "*", ], [ 'role' => 'superuser', 'controller' => '*', 'action' => "*", ], ], ]; |
「user」はログイン後は全てにアクセスできる。「superuser」はログイン後に全てにアクセスできるという設定にしてあります。ここを変更するとアクセスを制限できます