飲・食・遊・ダイエット・走・育な日々 -3ページ目

Authコンポーネントを使ってみる....

ユーザー管理をWebで行ないたい。。。

管理者認証で今のアプリと別でログインしたい。。。


はいっ出たっ∑ヾ( ̄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
<?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やらなにやら・・・


フレームワーク様様だねぇ~

ありがとう!美味しかった!

忘れていた IDENTITYの初期化

IDENTITYって自動採番にしているけど、

初期化することが1年に2回ぐらいでてきて、

わすれちゃう。。。(;^ω^A


だってさっ!

普通はID番号初期化するなんてこと・・・無いっヾ(▼ヘ▼;)



テストで戻したりするぐらい・・・あるやん・・・


っというわけで、いかがSQLでの操作

DBCC CHECKIDENT( テーブル名, RESEED, 0)

DBを指定するなら、この文の前に、

use データベース名;

をいれればOKだしょ。

あっ・・・あくまでもSQL Serverねっ


俺、オラクルもMySQLもさわらんしっ!( ̄∩ ̄#

忘れるな!俺。。。(TωT)

会議決定の意味って何(?_?)

今日、出勤してスケジュールチェックしたら、

会議で決定した提出書類の締切日が

勝手に変わってた(@ ̄Д ̄@;)


なんで?


一番上の上司が、締め切りが早すぎるから、

1日遅らせたんだって・・・


ヾ(。`Д´。)ノハァァ~


会議で全員一致で締切日決めたんだよ(`Δ´)

あなたひとりの都合で日付変えられるんだったら、

会議の意味なくなくない??


ツーカっ


あなたは会議に出席すらしていないしヾ(▼ヘ▼;)


百歩譲って、トップ決断良しとしよう・・・・

変更する前に相談しない?

するよね?ねぇ?ねぇ?


変更しても連絡無し。

スケジュールをさらっと変えて終わり。。。


会議ってナンダロー

| 壁 |д・)

たっこらいす♪

ポップアップブロックを呪う。。。

唐突だが、GoogleToolBarポップアップブロックを呪いたくなった....

お前のせいで...お前のせいで....


Webシステムでデータの取り込みやら承認やらで

ポップアップを使うことがあるのだが・・・・

IEのブロックは、サイトで許可したのに、ブロックされる


何じゃこれ?


1時間ぐらいIEのオプションと格闘


なぜなぜ???


。。。


1時間後に、ツールバーにGoogleToolBarを見つけた・・・・

そういえば、Google Tool Barって、ポップアップブロックの

設定ついていたよな・・・


・・・


ありやがった!! コノヤロー

俺の1時間返せ


Yahoo!やGoogle、楽天なんかのツールバーを確認する

って作業を怠った自分に腹を立てた時間だった・・・