0

私の最初のCodeIgniter2アプリで認証を試みています。セッションについて学び、訪問者のセッションをいつ開始する必要があるのか​​理解できませんか?具体的なアクションで、またはコンストラクターで?ご存知のとおり、ユーザーは自分でURLを入力することで、任意のアクションを呼び出すことができます。before()すべてのアクションの前に呼び出す必要があり、セッションが使用可能かどうかを確認し、使用できない場合はセッションを開始するメソッドのようなものが必要であることを意味しますか?

これらのサイトから、共通のセッションについて読むことができますが、CodeIgniterフレームワークの例をいくつか紹介したいと思います。たぶん、CodeIgniterでの承認は、これらのものよりもはるかに具体的です。

4

1 に答える 1

1

Sessionクラスは、各ユーザーのセッション情報をシリアル化された(およびオプションで暗号化された)データとしてCookieに保存します。また、セキュリティを強化するためにセッションデータをデータベーステーブルに保存することもできます。これにより、ユーザーのCookie内のセッションIDを保存されているセッションIDと照合できるようになります。デフォルトでは、Cookieのみが保存されます。データベースオプションを使用する場合は、以下に示すようにセッションテーブルを作成する必要があります。

注: SessionクラスはネイティブPHPセッションを利用しません。独自のセッションデータを生成し、開発者により多くの柔軟性を提供します。

注:暗号化されたセッションを使用していない場合でも、セッションデータの操作を防ぐために使用される暗号化キーを構成ファイルに設定する必要があります。

セッションは通常、ページが読み込まれるたびにグローバルに実行されるため、セッションクラスはコントローラーコンストラクターで初期化するか、システムによって自動読み込みする必要があります。ほとんどの場合、セッションクラスはバックグラウンドで無人で実行されるため、クラスを初期化するだけで、セッションの読み取り、作成、および更新が行われます。

コントローラコンストラクタでSessionクラスを手動で初期化するには、$ this->load->library関数を使用します。

$this->load->library('session');

ユーザーガイドで読むことができるCISesseionの詳細情報

どうもありがとう

于 2013-03-29T18:27:09.980 に答える