Contents
インストール
自前の認証を行う場合
1 | composer require cakedc/users |
1 2 | Configure::write('Users.config', ['users']); Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); |
SNS連携を行う場合
1 | composer require league/oauth2-facebook:@stable |
1 2 3 4 5 | Configure::write('OAuth.providers.facebook.options.clientId', '<APP ID>'); Configure::write('OAuth.providers.facebook.options.clientSecret', '<APP SECRET>'); Configure::write('Users.config', ['users']); Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); Configure::write('Users.Social.login', true); |
1 | composer require league/oauth1-client:@stable |
1 2 3 4 5 | Configure::write('OAuth.providers.twitter.options.clientId', '<APP ID>'); Configure::write('OAuth.providers.twitter.options.clientSecret', '<APP SECRET>'); Configure::write('Users.config', ['users']); Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); Configure::write('Users.Social.login', true); |
とする。
他にも
1 | composer require league/oauth2-facebook:@stable |
1 | composer require league/oauth2-google:@stable |
等が利用できる。
設定
詳しい要件はCakeDC Users Pluginで確認する。
雛型のコピー
まずはデフォルトで用意されている設定をコピーしておく。
1 | cp vendor/cakedc/users/config/users.php config |
後にこのファイルは要件によって変更する。
必要なテーブルの作成
用意されているユーザテーブルを作成する。
※事前にconfig/app.phpのデータベースの設定をしておく事。
1 | bin/cake migrations migrate -p CakeDC/Users |
これを実行すると、users、social_accounts、cake_d_c_users_phinxlogの3つのテーブルが作成される。
なお、自前のテーブルを使う場合はプラグインの拡張を参考に設定する。
UsersAuthコンポーネントのロード
initialize()処理でUsersAuthコンポーネントをロードするように設定する。
1 | $this->loadComponent('CakeDC/Users.UsersAuth'); |
ユーザの作成
スーパーユーザの作成
次のコマンドでスーパーユーザのアカウント作成が出来る。
1 | bin/cake users addSuperuser -u <ログインID> -p <パスワード> |
一般ユーザの作成
次のコマンドで一般ユーザのアカウント作成が出来る。
1 | bin/cake users addUser -u <ログインID> -p <パスワード> |
ログイン/ログアウト後の画面遷移
ログイン/ログアウト後の画面をconfig/users.phpに指定する。
1 2 3 4 5 6 7 8 9 10 11 12 | // default configuration used to auto-load the Auth Component, override to change the way Auth works 'Auth' => [ 'loginRedirect' => [ 'plugin' => null, 'controller' => '<コントローラ名>', 'action' => '<アクション名>', ], 'logoutRedirect' => [ 'plugin' => null, 'controller' => '<コントローラ名>', 'action' => '<アクション名>', ], |
許可画面の設定
vendor/cakedc/users/config/permissions.phpをconfig/permissions.phpにコピーして編集する。
1 2 3 4 5 6 7 8 9 10 11 12 13 | 'Users.SimpleRbac.permissions' => [ [ 'role' => '*', 'plugin' => 'CakeDC/Users', 'controller' => '*', 'action' => '*', ], [ 'role' => 'user', 'plugin' => 'CakeDC/Users', 'controller' => 'Users', 'action' => ['register', 'edit', 'view'], ], |
用意されているコマンド
- アクティベート
bin/cake users activateUser <ログインID>
- スーパーユーザの追加
お任せ
bin/cake users addSuperuser
指定
bin/cake users addSuperuser -u <ログインID> -p <パスワード>
- ユーザの追加
お任せ
bin/cake users addUser
指定
bin/cake users addUser -u <ログインID> -p <パスワード>
- 権限変更
bin/cake users changeRole <ログインID> <権限>
用意されているWEB画面
ログアウト時
- ログイン
/login
- 登録
/users/users/register
- パスワードリセット
/users/users/request-reset-password
管理者
- ユーザ一覧 (リンクから閲覧、変更、削除、パスワードリセット)
/users/users
一般ユーザ
- プロフィール表示 (リンクからパスワード変更)
/profile