サイド上背景

サイトについて

リンクフリー

個人ご利用の場合はリンクフリーです。備忘録等に各種ドキュメントへのリンク。ご自由にご利用ください。

転載

出典元表記(当社名orリンク記載)の際は転載等ご自由にご利用ください。

ライセンス

このページの内容の一部は、Google が作成、提供しているコンテンツをベースに変更・複製したもので、クリエイティブ・コモンズの表 示 3.0 ライセンスに記載の条件に従って使用しています。

株式会社 Sola.com

ソラコムお問い合わせ

(本店)

〒981-0014

宮城県仙台市青葉区昭和町3-7 スカイコート上杉601
TEL:022-234-9972
Fax:022-778-6779


きょうのことば

" 今度OOしようだとか。今度XXするよとか…。いい加減な口約束だよ。「今度」と「おばけ」は出たためしがない。 "

(Murata 2010)


コンテンツ背景
Home スタッフ雑記 oba cakephp 1.3 ログイン認証
cakephp 1.3 ログイン認証
作者: 大場   

ログイン認証

ユーザがあるサイトにアカウントを持っているかをチェックし、

アカウントが存在すればユーザに対してサイトのアクセスを許可する機能。

cakephpではAuthcomponentを使用すると容易にシステムを作成することができる。

AuthcomponentはDBのテーブルでusersに対応する様に初期設定されているため、ログイン認証を

行いたい場合はテーブルでusersを定義するのが設定が楽になる。

DBを設計して、cakephpでbakeした後に認証を行いたいコントローラ

users_contoroller.phpに

 

class UsersController extends AppController {

    $components = array('Auth');

}

を追加するとAuthコンポーネントが追加される。

同じコントローラの中にログイン機能、ログアウト機能を追加

function login(){
}
function logout(){
    $this->Auth->logout();
}

これで簡単な設定が完了する。

urlにusersと入力してもusers/loginとなり、ログイン認証画面になる。

次にログイン、ログアウト画面を作成する。

app/views/usersフォルダ内にlogin.ctpファイルを作成する。

<?php
if  ($session->check('Message.auth')) $session->flash('auth');
echo $form->create('PrefixUser', array('action' => 'login'));
echo $form->input('username');
echo $form->input('password');    
echo $form->end('Login');
?>

同フォルダ内にlogout.ctpファイルを作成する。

<?=$html->tag('h3','ログアウトしました。')?>

urlにusers/logoutと入力するとlogout画面が表示されてlogoutが実行される。

他のシステムにもログイン機能を追加するときはクラス内に

var $components = array('Auth');

追加すれば自動的にログイン認証画面に飛ばされる。

このままではユーザが登録されていないときの誰もログインすることができないので

認証を行わないページを次回設定する。