ユーザーのテーブル作成
- ユーザー名(username)を識別子としてメールアドレスを登録させる。
- created modifiedを持っておく。
- status項目を作成する。status=1=>仮登録 status=0=>本登録 staus=1の時ログインできなくすることもできる。
authに関してstatusを確認する方法も追加しておくと良い。 - passwordはハッシュ化しておくためハッシュの方法によってpassword項目の長さを決定する。
ユーザーモデルの作成
-
class User extends AppModel { var $name = 'User'; var $validate = array( //独自ルール設定 ); }
- userModelのclass内で$validateにパスワードと確認パスワードのチェック
usernameがメールアドレスであるなどのチェックを入れておく。 - $validateの設定でpasswordにカスタムバリデータ関数を追加。
ここでpasswordの一致チェックを行ったあとパスワードをハッシュ化しておく。
Usersコントローラー
-
<?php class UsersController extends AppController { // Authコンポーネント var $components = array( 'Auth'); public function beforeFilter() { parent::beforeFilter(); // 非ログイン時にも実行可能とする $this->Auth->allow( array( 'signup', 'activate')); } public function signup(){ } public function activate(){ } } ?>
- authコンポーネントを組み込んでログインしていない場合は操作できないようにする。
ここではUsersControllerで設定しているが継承元のコントローラーで設定しておけば
他のコントローラーにも適用される。 - signupとactivateアクションを作成しておく。これらはログイン前でも使えるようにしておく。