問題タブ [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.
ajax - symfony2 security - ログインパスを無効にして禁止を表示する
ユーザーがトークンなしでページにアクセスしようとしているときに、ログイン ページへのリダイレクトを防止しようとしています。単一ページのアプリがあり、ファイアウォールの下に ajax リクエストを配置しているだけで、ユーザーがトークンなしで ajax を実行しているときに、ajax が返されるようにします。禁止された例外なので、クライアント側でキャッチできます
現在、リクエストがログインページにリダイレクトされているため、ajax は「Found」を返します。
私はこれまでクックブックで解決策を見つけていません.APIトークンを使用したくありません.ログインにリダイレクトする代わりに例外を送信するだけです.
symfony - ユーザー役割をセッションに保存する方法
すべてのページで、ユーザーオブジェクトがデータベースから再度取得されることがわかりました。ユーザーオブジェクトは正しくシリアル化されていますが、おそらくロールとの関係によるものだと思いました。その情報をセッションに保存するにはどうすればよいですか? ユーザーのシリアル化機能にロール プロパティを追加し、ロールにシリアル化可能なインターフェイスを追加しました。
symfony - Symfony RememberMe token_provider
私は silex でアプリを構築しています。ビルトインの SecurityServiceProvider を使用しています。rememberme サービスを使用しようとしています。ドキュメンテーションを見ています。token_provider というオプションがありますが、symfony は、それが文字列であるか、オブジェクトのインスタンスである場合。
どんな助けでも大歓迎です。
symfony - FOSUserBundle で Neo4j を使用するには?
FOSUserBundle
Neo4j データベースで動作するように調整しようとしていますが、動作していないようです。自分のユーザーシステムをうまく実装しようと長い間試みた後 ( Symfony2 で NEO4j をセットアップする) FOSUserBundle
、.
次の記事とリポジトリを使用しました。
https://github.com/ikwattro/Neo4jUserBundle
私はこれを取り、すべてのファイルを私のUserBundle
. を変更しましたnamespaces
。
ここからグラフ マネージャーを取得しました: https://github.com/ikwattro/KwattroNeo4jOGMBundle
残りについては、FOSUserBundle
ドキュメントに従いました。
登録フォームに移動すると、すべてのフィールドが表示され、希望する資格情報を入力できるようになりました。これは機能します。[送信] をクリックすると、成功ページにリダイレクトされ、アラート オーバーレイが表示されます。
Web デバッグ ツールバーの読み込み中にエラーが発生しました (500: 内部サーバー エラー)。プロファイラーを開きますか?
次にプロファイラーに入ると、作成したばかりのユーザーとして正常に承認され、ログインしていることがわかります。データもneo4j
データベースに正常に保存されました。
ここでの問題は、Symfony プロジェクトの他のページに移動すると、再び Anonymous としてログインすることです。ログインページに移動すると、フォームは正しく表示されますが、常に返されます: Invalid credentials。
セッションまたはセキュリティに問題があるのではないでしょうか?
これは私のsecurity.ymlです:
この情報が役立つかどうかはわかりませんが、Request
登録直後 (ユーザーがまだ正しく認証されている場合) のプロファイラーでは、次のセッション情報が表示されます。
ヘルプやヒントをいただければ幸いです。
更新 [2015.07.21]
リポジトリを作成しました: https://github.com/JoranBeaufort/Neo4jUserBundle (初めて GitHub を使用したときにこれが機能することを願っています)
セッション処理に何か問題があると思いますか?
指摘すべきもう 1 つのことは、依存性注入は何もしていないように見えるということです。私はいくつかの重要なものを見逃しているに違いありません。
Neo4jUserBundle
箱から出してすぐに動作しFOSUserBundle
、Symfony プロジェクトの構成ファイルで構成できる を提供できれば素晴らしいことです。データベースでの認証も非常に重要です (ユーザー名とパスワードを使用して に接続しますneo4j
)。
更新 [2015.07.22]
を変更し、bundlename
ようやく が機能するようになったと思いますDependencyInjection
。よくわかりませんが、クラスの命名方法に問題があったと思います。
私もあなたが提案したことを試しましたfindUserById
。ルートmyapp.com/neo4juser/debug/finduserbyid/{id}
を取得し、メソッドを使用しfindUserById
てユーザーを返すコントローラーを作成しました。これは機能しています。Neo4j データベースに、ID = 68、email=test@test.test のユーザーがいます。ここで入力するmyapp.com/neo4juser/debug/finduserbyid/68
と、ページが読み込まれ、そのユーザーの正しい電子メールが表示されます。
TWIG はここにあります: https://github.com/JoranBeaufort/Neo4jUserBundle/blob/master/Resources/views/Debug/finduserbyid.html.twig
ここのコントローラー: https://github.com/JoranBeaufort/Neo4jUserBundle/blob/master/Controller/DebugController.php
のメソッドはUserManager
、目的のオブジェクトを返しているようです。
これは、ログインが機能しない理由を理解するのに役立ちますか? シリアル化は、エラーまたは暗号化の種類と関係がありますか? それともCSRFと関係があるのでしょうか? さらなるヒントはありますか?
更新 [2015.07.23]
プロバイダーとして使用し、ユーザーin_memory
を設定するとin_memory
、ログインが機能します。これで、問題をプロバイダーに絞り込みました。
私は近づいています!dev.log ファイルのエラーは次のようになります。
重要なのは、「Username "test" が存在しない」という部分です。これは、ユーザー プロバイダーで何かが機能していないことを意味していると推測しています。問題の原因を特定できる人はいますか? 私が呼び出しているプロバイダは、https ://github.com/JoranBeaufort/Neo4jUserBundle/tree/master/Security にあります。
php - サービスから定義されたチェーン プロバイダーを使用する
アプリで複数のユーザー プロバイダーを使用しています。
ここで、サービスからユーザーをロードする必要があります
チェーンプロバイダーを明示的に使用するにはどうすればよいですか?
symfony - エンティティを更新できません
Symfony 2 (最終バージョン) で、エンティティを更新しようとしています:
端末に次のエラー メッセージが表示されました。
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
「security.firewalls.access_control」の下の認識されないオプション「0、1、2、3」
私は Symfony に不慣れで、この問題を解決するためにどこを検索すればよいかわかりません。
これは security.yml ファイルです:
http://symfony.com/doc/current/book/security.html
セキュリティ: エンコーダ: FOS\UserBundle\Model\UserInterface: bcrypt
symfony - 認証に基づいて 1 つの URL を 2 つのコントローラー アクションにルーティングする
私はSymfonyに少し慣れていませんが、簡単に説明できる状況があります:
公開ホームページと非公開ホームページがあります。URL「/」でこれらの両方にアクセスできるようにしたいと思います
認証されていない人がアドレス www.example.com/ にアクセスした場合、それらを PublicController::indexAction() にルーティングしたいと思います
認証されたユーザーがアドレス www.example.com/ にアクセスすると、Privatecontroller::indexAction() にルーティングされるようにしたいと思います。
これは可能ですか?
(symfony 2.7 ところで)
silex - ログインを求める匿名のパラメーターを使用したファイアウォールパターン
パラメータを持つルートがあり、最初にログインする必要があると考えてファイアウォールをトリップさせます。ルートで使用されている名前フォームを使用するようにパターンを設定しようとしましたが、それでも認証が必要だと言っています。
パターンをパラメータで動作させる特別な方法はありますか? その方法がわかりません。
ありがとう
php - ROLE_ADMIN symfony へのアクセスを拒否する
Symfony 2.7 と FOSUserBundle 2.0 を使用しています
私が望むのは、 /admin へのアクセスをROLE_ADMIN
ユーザーに許可するが、他のパスを拒否することです。
と思いましphp app/console fos:user:demote admin ROLE_USER
たROLE_USER
が、FOSUser のデフォルトの役割なので、管理者が接続するたびにROLE_USER
、追加で戻ってきROLE_ADMIN
ます。
どうすればこれを行うことができますか?
symfony - symfony + fosuserbundle + ファイアウォールのセキュリティ問題
symfony セキュリティ + fos ユーザー バンドルに問題がありました。私の問題を再現した人を見つけることができませんでした。同様の問題だけですが、解決策は機能していません。/ を含むすべてのページは、登録/リセット/ログイン URL を除いて保護する必要があります。
/login に移動すると、登録ファイアウォールに追加しない限り、URL は「保護」されます。これは、ログインしようとするまで機能し、メインのファイアウォールにログイン パスを追加する必要があると表示されます。