問題タブ [symfony-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - Twig Exception Controllerで定義されていないSymfony2ユーザー
小枝で例外を処理するために、独自のアクションを使用します。
問題は、私が実際にアプリケーションに対して認証されていることですが、この特別なコントローラーではトークンが null です。
小枝テンプレートでユーザーオブジェクトを使用しているため、誰かがこの問題を解決するためのアイデアを持っていますか?
php - ユーザーはフォームを送信しますが、登録またはログインするまで保存しません
ユーザーが単一のページに入力するフォームが多数ありますが、ユーザーが投稿した後、コントローラーはフォームが有効かどうかを確認し、ユーザーが既にログインしているかどうかを確認し、情報を保存します。
助けが必要
ユーザーがログインしていない場合は、登録ページにリダイレクトしてサインアップし、サインアップ後に自動ログインすると、同じコントローラーに投稿された値が返され、保存できるようになります。
$form->isValid && !$this->getUser()
次に、セッションに保存されたこのフォームの値を使用して、ユーザーをサインアップ ページにリダイレクトしますか?- ユーザーがサインアップまたはログインした後、以前のコントローラーに戻って (それ以上のアクションは必要ありません)、以前に送信されたフォームを自動保存する必要があります。以来
$form->isValid()
混乱しています。フォームの値をセッションに保存してリダイレクトする必要がありますか? モデル値を適切に保存しますか?
また、ログイン後に post メソッドで同じページに戻るように Symfony に指示しながら、ユーザーを登録ページにリダイレクトするにはどうすればよいですか。
php - アノテーションを使用したセキュアな方法
フォームのあるページがあり、GET を使用してアクセスできるかどうかを知りたいのですが、ログインしているユーザーのみに POST を許可します。
これは security.yml で実行できることは知っていますが、注釈を使用して実行する方法がわかりません。
これにより関数全体が保護されますが、ログインせずに POST するのではなく、関数にアクセスしたいのです。別の方法は、 $form->isValid() ブラケットにログインしているユーザーがいるかどうかを確認することです。しかし、注釈でそれができるかどうかはまだ疑問です。
symfony - 既存のユーザークラスを持つ Symfony Login フォーム
Symfony でセキュリティがどのように機能するかを使用 (および理解) しようとしています。ログインフォームを作成しましたが、ハードコーディングされたユーザーで機能します。
ここで、データベース内の既存のユーザー テーブルを使用したいと考えています。テーブルには必要なフィールドがすべて含まれていますが、列名が異なります。エンティティも存在し、名前も異なります (たとえば、「id」ではなく「customUserId」)。
次のようなもの (「MAGIC_MAPPING」を使用):
既存のフィールドをマップして、Symfony がログイン目的で使用する方法はありますか? または、少なくともデータベース構造 (エンティティ クラスのみ) を変更せずに動作させることはできますか?
このフォーラムと Symfony のドキュメントからいくつかのアクションを試しましたが、常に修正できない醜いエラーで終了します。
アイデアやリードはありますか?助けてくれてありがとう、私はこれに数時間苦労してきました...
php - symfony は認証できません
私はSymfonyクックブックに従っており、「一般的な落とし穴を回避する」には次のように書かれています:
また、ファイアウォールで匿名ユーザー (キーなし) が許可されていない場合
anonymous
は、ログイン ページで匿名ユーザーを許可する特別なファイアウォールを作成する必要があります。
したがってsecurity.yml
、次のようにファイルを実装しました。
問題は、ログインしようとするとログイン ページにリダイレクトされ、認証されないことです。また、2 つのファイアウォール間でコンテキストを共有しようとしました (つまり、同じ を使用していますcontext
) が、プラスの効果はありませんでした。
この構成の何が問題になっていますか?
編集:
これは私のlogin.html.twig
テンプレートです:
php - ログインページへの Symfony セキュリティリダイレクト
セキュリティで保護されたルートがある場合、たとえばpanel
以下のように、Symfony はログインしているユーザーのみにアクセスを許可します。
ログインしていないユーザーの場合、常に login_path にリダイレクトされます (私は FOSUserBundle を使用しています)。
このリダイレクトはどこで無効化または上書きできますか? ユーザーをリダイレクトせずに、ログインフォームを直接表示したい。
と関係があると思いAccessDeniedHandlerInterface
ますが、security.yml でどのキーを上書きする必要がありますか? そして、デフォルトの実装はどこですか?
他の状況についてはDefaultLogoutSuccessHandler, DefaultAuthenticationFailureHandler, DefaultAuthenticationSuccessHandler
、これらの状況ごとにサービスを実装できます。これにより、それぞれのインターフェイスが拡張され、カスタムの方法で状況を処理できます。ただし、AccessDenied については何も見つかりません。そのディレクトリには、インターフェイスのみが含まれています。