CSS Selector Generator | CSS のセレクタ一覧を一発で自動生成!

10

02月2010年

続:CakePHP1.2 Authコンポーネントを使った認証機能

ichikawa 14:50 PM

  • はてなブックマークに登録
  • livedoorクリップに登録
  • Yahoo!ブックマークに登録
  • deliciousに追加

こんにちは、最近引越しを考えている ichikawaです。
今回は、前回の「CakePHP1.2 Authコンポーネントを使った認証機能」の続きを書きたいと思います。

未ログイン状態で見られるページを設定する

新規登録ページや、パスワード再設定のページなど、ログインしていない状態でも表示したい場合には設定が必要です。
例えば、新規登録がregisterアクション、パスワード再設定がforgot_passwordアクションの場合は、コントローラーに以下のように設定します。

$this->Auth->allow('register', 'forgot_password');

以上で、設定したページはログインしていない状態でも見られるようになります。

Authコンポーネントのハッシュ化の方法を独自に設定する

Authコンポーネントは、デフォルトではコアユーティリティクラス Security の hash 関数を使用します。(公式マニュアルより
例えば「ハッシュ化したくない」とか、「md5でハッシュ化したい」場合には、hashPasswords という関数を持つクラスのオブジェクトを authenticate にセットすれば可能です。
例えば、AccountモデルにhashPasswordsという関数を設定する例は下記の通りです。
まずコントローラーで、以下のように設定します。

$this->Auth->authenticate = ClassRegistry::init('Account');

そして、AccountモデルにhashPasswords 関数を用意します。

function hashPasswords($data)
{
    $md5_passwd = md5($data[$this->name]['password']);
    $data[$this->name]['password'] = $md5_passwd;
    return  $data;
}

以上で、パスワードのハッシュ化が設定したもの(上記ではmd5)に変更できます。
尚、独自のハッシュ化でなければ、Security クラスでの変更も可能です。
詳しくはこちらの公式マニュアルをご覧ください。

ログインしているユーザー情報を取得する

「$this->Auth->user()」で、ログインしているユーザー情報を取得できます。

// コントローラー
$user = $this->Auth->user();
$this->set('user', $user);
// ビュー
echo "こんにちは ".$user['name']." さん!";

上記のような方法で、簡単にログインしているユーザー情報が取得できます。

以上で簡単ですが、Authコンポーネントをご紹介いたしました。
何かのお役にたてれば幸いです。

バシャログスタッフによるWebサイト制作サービス

トラックバック

このエントリーのトラックバックURL
http://c-brains.jp/cgi-bin/mt/###/2139
###はmt-tb.cgiに変更してください。

コメントを投稿

ページの先頭へ

POPULAR TAGS
  • バシャログスタッフによるWebサイト制作サービス

ARCHIVE

特集

RECENT COMMENTS

ishida on CSS Nite in Ginza, Vol.49「バシャログ LIVE」 で紹介したDreamweaverの正規表現クエリーを公開します
>市川さん コメントありがとうございます。 前提条件の部分
ichikawa on 1.2.3で整えるPHP開発環境【STEP.1】 XAMPPをインストール
いつもバシャログ。をご覧いただきありがとうございます。 >
市川 on CSS Nite in Ginza, Vol.49「バシャログ LIVE」 で紹介したDreamweaverの正規表現クエリーを公開します
どういう前提での使用例なのか、わかりませんが、 タグを明示的
studio-8ch on 1.2.3で整えるPHP開発環境【STEP.1】 XAMPPをインストール
いつも記事を大変興味深く、拝見いたしております。 是非、A
sakai on [使える CSS テクニック] CSSで実現するプルダウンメニュー
>とらのすけさん コメントありがとうございます。 CSS