現在、ログイン後、Lithium はセッションに保存し、パスワード、ハッシュなどのユーザー テーブルのすべての行を Cookie に保存します。パスワードやハッシュなどの情報の一部を削除する (保存を許可しない) にはどうすればよいですか?
3 に答える
Session クラスは、あなたが伝えた内容を保存します! Auth::check が完了したら、セッション ID および/または絶対に必要なデータのみを Cookie に保存する必要があります。また、箱から出してリチウム (AES) によって提供される暗号化を必ず使用してください。
より詳細なヘルプが必要な場合は、ログイン コントローラーとすべての適切なモデル/フィルターを投稿してください。
このコミット以降、オプション'persist' => array('field1','..')
をAuth::check
に渡すか、ブートストラップセッション構成でデフォルトとして設定して、指定されたフィールドのみを保存できます。
したがって、これをbootstrap/session.phpで設定します
Auth::config(array(
'user' => array(
'adapter' => 'Form',
'session' => array(
'persist' => array('_id','username')
),
'model' => 'Users'
)
));
または、呼び出すときにフィールドを定義します。Auth::check()
これにより、上記の構成のすべてが上書きされます。
Auth::check('user', $this->request, array(
'persist' => array('username','email')
))
注:明示的に定義されていない場合、パスワードはデフォルトで保存されません。
にオプションを渡すAuth::check
と、アダプターにも渡されます (さらに、いくつかの追加機能もあります)。このため、クラスにForm
アダプターを使用していると想定しています。Auth
チェックを実行するときにこれを試してください:Auth::check('config', $data, array('fields' => array('fields', 'you', 'want'))
ここで重要なのは、最後にfields
キーを追加した配列です。これはアダプターに渡され、Form
アダプターはそれらのオプションを受け取り、それらを使用してモデルに一致するユーザーを照会します。どのフィールドを返すかを明示的に指定することで、それらのフィールドのみをAuth
クラスに戻して保存します。