人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「ユーザー向け」と「運営者向け」の管理画面をPEAR_AUTHで制作し
認証を行っているのですが、「ユーザー向け」の管理画面で認証が完了すると
「運営者向け」の管理画面内も参照できてしまいます。
※もちろん認証の際に用いるデーターベーステーブルは
「ユーザー向け」と「運営者向け」で分けています。

セッションIDを共通のものを使用しているため起こっている現象だと思うのですが、
こういった場合一般的にはどのように解決しているのでしょうか?

なるべくシンプルな方法で解決できると大変嬉しいです。

宜しくお願い致します。

●質問者: gelgelgel
●カテゴリ:インターネット ウェブ制作
✍キーワード:シンプル セッション データーベース ユーザー 制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● b-wind
●30ポイント

基本的には一般ユーザーと管理ユーザーの認証機構は全く別個に設定するのがセオリーだと思います。

セッションIDを共通のものを使用しているため起こっている現象

セッションID を個別の物にすると言うのも一つの実装例でしょう。


全く別個にするのが無理であれば、権限情報を持たせるという方法が有ります。

データベースに格納された他のカラムの取得 - ユーザー認証(PEAR::Auth) - PEAR入門

PEAR::Auth には他のカラムを取得する機能もあるようなので、たとえば authority というカラムを追加し、

管理者権限が必要なページでは都度このカラムの値が条件を満たしているかチェックするといった具合です。

◎質問者からの返答

ご回答ありがとうございます。

>基本的には一般ユーザーと管理ユーザーの認証機構は全く別個に設定するのがセオリーだと思います。

言葉足らずだったのですが私も同一にしたかったわけではなく、

同じソースを使っているのでそうなってしまったのですが、

簡単に別個にセッションIDを保持する設定などがあればと

思っておりました。

>管理者権限が必要なページでは都度このカラムの値が条件を満たしているかチェックするといった具合です。

こうすればできるのは分かっていたのですが、なんだか一般的ではない気がしておりました。

こういったものなんですね。

ありがとうございました。


2 ● yofukaci
●10ポイント

http://www.phpbook.jp/pear/pear_auth/index9.html

管理者かユーザーかの情報を持つようにして、それで判断すればよいと思われます。

◎質問者からの返答

ありがとうございました。


3 ● kn1967a
●1ポイント

セッションIDを分ける。

http://q.hatena.ne.jp/

◎質問者からの返答

どうやって分けたらいいのかを教えてほしかったです。


4 ● scrap49
●50ポイント ベストアンサー

$auth = new Auth("DB", $params,"loginFunction");

$auth->setSessionName('hogehoge');

$auth->setadvancedsecurity('true');

$auth->start();

2行目の記述でセッション名がセットできます。


http://pear.php.net/manual/ja/package.authentication.auth.auth.s...

◎質問者からの返答

ありがとうございます。

ズバリ私が求めていた回答です!!

後ほど検証してみます。勉強になりました。

※追記

早速試したところうまくいきました!!ありがとうございました!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ