CakePHP2.0ベータ版を使用する私は、既存のデータベーススキーマ用のカスタムログインハンドラを書くことができました。ログイン時に、保存されたセッション変数を出力し、CakeのAuthコンポーネントが行ったことは、セッション中に "Member"テーブル(私のユーザー名+ハッシュがどこにあるか)からレコード全体を保存することを除いて、これは、セッションに全く関係のないデータフィールドを持つ配列を格納しています。私は基本的に彼らのIDと多分ユーザー名、名前、電子メールアドレスが必要なので、例えば、それはメンバーが作成された日付、そのアドレスなどを保存します。私にとってCakePHP Authが多すぎるセッション変数を読み込む
問題の行が中に発見された:/lib/Cake/Controller/Component/AuthComponent.phpライン512それはだから私のカスタム認証コンポーネントは$ユーザーと、それを返し、
$this->Session->write(self::$sessionKey, $user);
を述べてこのすべてをセッションにスローします。今度は、2.0のリリース時にこのプロジェクトが確実にアップグレードされるため、私はコアライブラリで編集したくありません。セッションに必要な情報を少なくする方法はありますか?私はこの全体をより軽く保ちたい。
解決策:必要なフィールドのみを$ user変数に返すようにカスタム認証コンポーネントを変更します。返信すべきでない/返すべきでないデータに関する懸念はありますか?