2009-10-02 25 views
8

Java側では、認証を処理するサーブレットフィルタがあります。ページにカスタマイズされたコンテンツが必要でない限り、ページに認証を追加するために他のすべてのサーブレットまたはJSPを変更する必要はありません。Java Servlet Filterに相当するPHPは何ですか?

どのようにPHPで同じことを達成できますか? PHPではフレームワークを使用していません。

答えて

10

直接的に相当するものはありません。最善の策は、トップに共通のファイルを含め、そのようなロジックを必要に応じて最上位に置くことです。だから、:と

require 'common.php'; 

if (!isset($_SESSION['userid'])) { 
    // authentication stuff 
} 

あなたが最後に何かをしたい場合は、オプションのカップルを持っている:

  1. ob_start()と出力バッファハンドラを使用します。または
  2. シャットダウンコールバックをregister_shutdown_function()で登録します。

ので:

ob_start('my_callback'); 

function my_callback($str) { 
    // do something 
    return $str; 
} 

または

register_shutdown_function(my_callback); 

function my_callback() { 
    // do something 
} 
1

あなたの質問を正しく理解していれば、これはアーキテクチャによって異なる場合があります。ログインページに送信しないと、ユーザーがセッションで認証されているかどうかを確認するインクルードファイルを作成します。私は2つ以上のスクリプトを持つ任意のサイトはインクルードファイルのいくつかの並べ替えを利用すると思うと私はそのファイルにこのコードを置くことができます。あなたは有効なユーザーセッションを持っている必要があるページの名前を含む配列を持つこともでき、uri要求と一致させることができます..それについて行くいくつかの方法..あなたは一番うまいものを選ぶ必要があります。

関連する問題