Authコンポーネントを使ってみる....
ユーザー管理をWebで行ないたい。。。
管理者認証で今のアプリと別でログインしたい。。。
はいっ出たっ∑ヾ( ̄0 ̄;ノ
唐突な考えと言動・・・もっと練り込んでだせよε=(。・д・。)
っというわけで、Web開発でフレームワークとして利用している
cakePHPで美味しくいただけないか調べた・・・・
Authコンポーネントで、実現が可能っぽい
まずは、もともと持っているユーザーテーブルに
パスワードフィールドを設定。
そして、今利用しているWebアプリとは別にする為に、
一工夫。
ちなみに、バージョンは1.3.12
app_controller.phpへ以下を登録
var $components = array('Auth', 'Session');
管理者認証で今のアプリと別でログインしたい。。。
はいっ出たっ∑ヾ( ̄0 ̄;ノ
唐突な考えと言動・・・もっと練り込んでだせよε=(。・д・。)
っというわけで、Web開発でフレームワークとして利用している
cakePHPで美味しくいただけないか調べた・・・・
Authコンポーネントで、実現が可能っぽい
まずは、もともと持っているユーザーテーブルに
パスワードフィールドを設定。
そして、今利用しているWebアプリとは別にする為に、
一工夫。
ちなみに、バージョンは1.3.12
app_controller.phpへ以下を登録
var $components = array('Auth', 'Session');
function beforeFilter() {
//認証ModelをTanto.phpへ変更
$this->Auth->userModel = 'ユーザーテーブルモデル';
//認証フィールドを変更(認証するフィールドが違う場合)
$this->Auth->fields = array('username'=>'username', 'password'=>'password');
//URLで処理を分岐
if (preg_match('/admin/', $this->params['url']['url'])) {
//URL内にadminが入っている場合
//ログインURLをセット
$this->Auth->loginAction = array('controller'=>'admins', 'action'=>'login');
//ログイン後に表示するコントローラーとアクションをセット
$this->Auth->loginRedirect = array('controller'=>'admins', 'action'=>'menu');
//ログアウト後に表示するコントローラーとアクションをセット
$this->Auth->logoutRedirect = array('controller'=>'admins', 'action'=>'login');
//ログインとログアウト画面は認証しない
$this->Auth->allow('login', 'logout');
//ログインエラー時のメッセージ
$this->Auth->loginError = 'ユーザ名もしくはパスワードに誤りがあります';
//認証エラー時のメッセージ
$this->Auth->authError = '管理者としてログインする必要があります';
} else {
//admin/以外は認証不要
//認証省略
$this->Auth->allow('*');
}
}
以上で、URLに[admin]がないものは、認証無し。
adminのファイル名かディレクトリ名だけを認証対象とする。
参考にしたサイト
http://www.kantenna.com/pg/2009/12/phpcakephpauth.php
続いて、admins_controller.phpを用意
<?php
Class AdminController extends AppController {
var $name = 'Admin';
var $uses = array('ユーザーテーブルモデル');
var $components = array('Auth');
function menu(){
//ログイン後表示するメニュー
}
function login(){
//Authコンポーネントが勝手にやってくれるので、
処理を書き込む必要なし
}
function logout(){
//Authコンポーネントが勝手にやってくれるので、
処理を書き込む必要なし
}
}
以上。コントローラーに手間要らず!!便利っΣ\( ̄ー ̄;)
後はログインのビュー
login.ctp
以上で、URLに[admin]がないものは、認証無し。
adminのファイル名かディレクトリ名だけを認証対象とする。
参考にしたサイト
http://www.kantenna.com/pg/2009/12/phpcakephpauth.php
続いて、admins_controller.phpを用意
<?php
Class AdminController extends AppController {
var $name = 'Admin';
var $uses = array('ユーザーテーブルモデル');
var $components = array('Auth');
function menu(){
//ログイン後表示するメニュー
}
function login(){
//Authコンポーネントが勝手にやってくれるので、
処理を書き込む必要なし
}
function logout(){
//Authコンポーネントが勝手にやってくれるので、
処理を書き込む必要なし
}
}
以上。コントローラーに手間要らず!!便利っΣ\( ̄ー ̄;)
後はログインのビュー
login.ctp
<?php
if ($session->check('Message.auth')) $session->flash('auth');
echo $form->create('Admin', array('action'=>'login'));
echo $form->input('username', array('type' => 'text'));
echo $form->input('password', array('type'=>'password'));
echo $form->end('ログイン');
?>
これでOK。
稼動してみると・・・・・・・動いたっ( ̄□ ̄;)!!
簡単!\(゜□゜)/便利!(((゜д゜;)))
工数ってなに?
認証作りこむのに結構時間かかるよ・・・
Sessionやらなにやら・・・
フレームワーク様様だねぇ~
ありがとう!美味しかった!
これでOK。
稼動してみると・・・・・・・動いたっ( ̄□ ̄;)!!
簡単!\(゜□゜)/便利!(((゜д゜;)))
工数ってなに?
認証作りこむのに結構時間かかるよ・・・
Sessionやらなにやら・・・
フレームワーク様様だねぇ~
ありがとう!美味しかった!
忘れていた IDENTITYの初期化
IDENTITYって自動採番にしているけど、
初期化することが1年に2回ぐらいでてきて、
わすれちゃう。。。(;^ω^A
だってさっ!
普通はID番号初期化するなんてこと・・・無いっヾ(▼ヘ▼;)
テストで戻したりするぐらい・・・あるやん・・・
っというわけで、いかがSQLでの操作
DBCC CHECKIDENT( テーブル名, RESEED, 0)
DBを指定するなら、この文の前に、
use データベース名;
をいれればOKだしょ。
あっ・・・あくまでもSQL Serverねっ
俺、オラクルもMySQLもさわらんしっ!( ̄∩ ̄#
忘れるな!俺。。。(TωT)
初期化することが1年に2回ぐらいでてきて、
わすれちゃう。。。(;^ω^A
だってさっ!
普通はID番号初期化するなんてこと・・・無いっヾ(▼ヘ▼;)
テストで戻したりするぐらい・・・あるやん・・・
っというわけで、いかがSQLでの操作
DBCC CHECKIDENT( テーブル名, RESEED, 0)
DBを指定するなら、この文の前に、
use データベース名;
をいれればOKだしょ。
あっ・・・あくまでもSQL Serverねっ
俺、オラクルもMySQLもさわらんしっ!( ̄∩ ̄#
忘れるな!俺。。。(TωT)
会議決定の意味って何(?_?)
今日、出勤してスケジュールチェック したら、
会議で決定した提出書類の締切日が
勝手に変わってた(@ ̄Д ̄@;)
なんで?
一番上の上司が、締め切りが早すぎるから、
1日遅らせたんだって・・・
ヾ(。`Д´。)ノハァァ~
会議で全員一致で締切日決めたんだよ(`Δ´)
あなたひとりの都合で日付変えられるんだったら、
会議の意味なくなくない??
ツーカっ
あなたは会議に出席すらしていないしヾ(▼ヘ▼;)
百歩譲って、トップ決断良しとしよう・・・・
変更する前に相談しない?
するよね?ねぇ?ねぇ?
変更しても連絡無し。
スケジュールをさらっと変えて終わり。。。
会議ってナンダロー
| 壁 |д・)
会議で決定した提出書類の締切日が
勝手に変わってた(@ ̄Д ̄@;)
なんで?
一番上の上司が、締め切りが早すぎるから、
1日遅らせたんだって・・・
ヾ(。`Д´。)ノハァァ~

会議で全員一致で締切日決めたんだよ(`Δ´)
あなたひとりの都合で日付変えられるんだったら、
会議の意味なくなくない??
ツーカっ
あなたは会議に出席すらしていないしヾ(▼ヘ▼;)
百歩譲って、トップ決断良しとしよう・・・・
変更する前に相談しない?
するよね?ねぇ?ねぇ?
変更しても連絡無し。
スケジュールをさらっと変えて終わり。。。
会議ってナンダロー
| 壁 |д・)
ポップアップブロックを呪う。。。
唐突だが、GoogleToolBarポップアップブロックを呪いたくなった....
お前のせいで...お前のせいで....
Webシステムでデータの取り込みやら承認やらで
ポップアップを使うことがあるのだが・・・・
IEのブロックは、サイトで許可したのに、ブロックされる
何じゃこれ?
1時間ぐらいIEのオプションと格闘
なぜなぜ???
。。。
1時間後に、ツールバーにGoogleToolBarを見つけた・・・・
そういえば、Google Tool Barって、ポップアップブロックの
設定ついていたよな・・・
・・・
ありやがった!! コノヤロー
俺の1時間返せ
Yahoo!やGoogle、楽天なんかのツールバーを確認する
って作業を怠った自分に腹を立てた時間だった・・・
お前のせいで...お前のせいで....
Webシステムでデータの取り込みやら承認やらで
ポップアップを使うことがあるのだが・・・・
IEのブロックは、サイトで許可したのに、ブロックされる

何じゃこれ?
1時間ぐらいIEのオプションと格闘

なぜなぜ???
。。。
1時間後に、ツールバーにGoogleToolBarを見つけた・・・・
そういえば、Google Tool Barって、ポップアップブロックの
設定ついていたよな・・・
・・・
ありやがった!! コノヤロー

俺の1時間返せ

Yahoo!やGoogle、楽天なんかのツールバーを確認する
って作業を怠った自分に腹を立てた時間だった・・・
