3

現在、ログイン後、Lithium はセッションに保存し、パスワード、ハッシュなどのユーザー テーブルのすべての行を Cookie に保存します。パスワードやハッシュなどの情報の一部を削除する (保存を許可しない) にはどうすればよいですか?

4

3 に答える 3

2

Session クラスは、あなたが伝えた内容を保存します! Auth::check が完了したら、セッション ID および/または絶対に必要なデータのみを Cookie に保存する必要があります。また、箱から出してリチウム (AES) によって提供される暗号化を必ず使用してください。

より詳細なヘルプが必要な場合は、ログイン コントローラーとすべての適切なモデル/フィルターを投稿してください。

于 2012-02-05T20:52:51.287 に答える
0

このコミット以降、オプション'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')
            ))

注:明示的に定義されていない場合、パスワードはデフォルトで保存されません。

于 2012-10-30T18:54:25.813 に答える
0

にオプションを渡すAuth::checkと、アダプターにも渡されます (さらに、いくつかの追加機能もあります)。このため、クラスにFormアダプターを使用していると想定しています。Auth

チェックを実行するときにこれを試してください:Auth::check('config', $data, array('fields' => array('fields', 'you', 'want'))

ここで重要なのは、最後にfieldsキーを追加した配列です。これはアダプターに渡され、Formアダプターはそれらのオプションを受け取り、それらを使用してモデルに一致するユーザーを照会します。どのフィールドを返すかを明示的に指定することで、それらのフィールドのみをAuthクラスに戻して保存します。

于 2012-02-06T18:43:58.843 に答える