問題タブ [sfguard]
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.
php - Secured Action への POST リクエストの送信
sfGuard で保護された POST データを取得するアクションがあります。これは、ユーザーがログインしていない場合、POST データがログイン フォームに送信されることを意味します。通常、これは問題ではありません。ユーザーは引き続きログインし、データを再度送信する必要があります。
残念ながら、ログイン フォームは、フォーム自体と共に送信されたかのように POST データを使用しているようです。これは、必要なユーザー名とパスワードのフィールドが欠落していると不平を言っており、CSRF トークンが欠落していると不平を言っていることを意味します。この最後の問題は、フォームを送信した後も解消されず、ユーザーがログインできないことを意味します。
ログインしていないユーザーにはフォームが表示されませんが、ユーザーがフォームを開いたままログアウトできる可能性があります。そのため、インターフェイスを水密でエラーのない状態に保つために質問しています。
これは sfGuard の欠点ですか、回避できますか、それとも何か間違ったことをしていますか?
明確にするために、ルートは次のようになります。
リクエストを送信するために使用されるフォームは次のとおりです。
php - symfony2用のsfguardバンドル
symfony2用の(Propel)用のバンドルがあります、symfony2用のsfguardバンドルがあります
symfony1 - symfony:それらを持っているsfGuardPermissionsとsfGuardGroupsのリストを取得する最も効率的な方法
私はsfGuardGroupPermissionレコードを管理するためのカスタム管理インターフェイスに取り組んでおり、基本的に、ユーザーが1つのインターフェイスでシステム全体のすべてのユーザーグループのアクセス許可を付与/削除できるようにしています。
私が使用しているクエリは、データベースで直接実行すると正常に機能しますが、Doctrineを介して実行およびハイドレイトすると、ほとんどのレコードが削除されているようです。
次の例を考えてみましょう。
- テーブルに1つのレコードがあります
sf_guard_group_permission
- テーブルに62のレコードがあります
sf_guard_permission
- テーブルに42のレコードがあります
sf_guard_group
Doctrine_RawSql
オブジェクトを使用してクエリを作成しています。これは次のようになります。
そして、を使用して生のSQLをgetSqlQuery()
取得すると、次のようになります(これにより、正しい結果が返されます。これらのアクセス許可を持つグループによって結合されたままのすべてのアクセス許可のリスト...
var_dump
教義とその結果を通してクエリを実行すると、 Doctrine_Collection
2つのレコードしか与えられません。最初のレコードは、テーブルにあるsf_guard_group_permissionレコードに対応し(正しい)、2番目のレコードのgroup_idはnullですが、いくつかの有効なsf_guard_permission
情報が含まれています。少し奇妙に思えます。
誰かが私がどこで間違っているのかを提案できますか?
symfony1 - 特定のグループのsfguardusersとのsymfonyドロップダウン
sfguardとdoctrineを使用して、私は次のグループを持っています:
マネージャーシェフウェイター
領収書用のモジュールがあり、ウェイターを選択したいフォームがあります。デフォルトのReceiptForm.class.phpがフィールドに入力されます。
すべてのユーザーを取得するので問題ありませんが、データベースにグループ「ウェイター」またはid=3のユーザーのみが含まれるように構成するにはどうすればよいですか。
symfony1 - Symfony - security.yml にスペースを含む資格情報を処理する方法は?
単純な問題のようですが、適切な参照が見つかりません。
スペースを含むいくつかの権限を持つシステムがあります。
アクションを保護する必要があるため、security.yml には次のものがあります。
ただし、機能しません。この権限を持つユーザーは引き続き制限されます。
資格情報を一重引用符と二重引用符、および角括弧で囲んでみましたが、常に失敗します。資格情報をスペースのないものに変更すると、正常に機能します。
資格情報の名前を変更できるかもしれませんが、最終的にはこの問題の解決策を知りたいです。
session - クッキーを使用しないsymfony1.4セッション
mysqlデータベースを使用してセッションデータを保存し、SfGuardプラグインを使用して認証を管理するSymfonyアプリケーションがあります。そのsymfonyにもかかわらず、認証情報は常にCookieに保存されます。とにかくCookieを無効にして認証情報をデータベースまたはメモリに保存することはできますか?将来的には、認証状態が異なるドメインの複数のアプリケーション間で持続する、一種のシングルサインオン機能が必要になる可能性があります。そのため、私は主にCookieを使用する必要をなくしたいと思っています。
ご協力ありがとうございました。
php - Symfony 2 SecurityBundle で Symfony 1.4 sfGuardUser テーブルを使用していますか?
ソフトウェア システムの一部を Symfony 2 に移行しようとしています。それらすべてを一度に移行することはできないため、Symfony 2 で認証/承認に sf_guard_ テーブルを使用する方法を探しています。これは可能ですか? ?
私はこれまでこれを行ってきました: http://www.propelorm.org/cookbook/symfony2/the-symfony2-security-component-and-propel.html
現在の問題は、ハッシュ スキーム (ソルトの使用を含む) が同じように機能しないことと、役割/権限システムが異なることだと思います。
php - sfGuard 管理者パスワードを紛失しました - リセットが必要です
私は Symfony プロジェクト (実際に少し前に取り組んだプロジェクト) を継承しており、バックエンドにログインするためにパスワードをリセットする必要があります。
MySQL データベースにアクセスできます。ソルトと新しいパスワードを連結してから、これをsha1(DBにログインしているように見えるアルゴリズム)でハッシュしようとしましたが、うまくいきませんでした。
Web アプリケーションにログインせずにパスワードを変更する方法について、誰か助けてもらえますか?
ありがとう、リッチ。
php - sfGuardを使用してユーザーの資格情報を検証する
私はsymfony1.4とsfGuardwithPropelを使用していますが、これが私の最初のsymfony体験であることを考えると、私はまだアーキテクチャの一部を完全に理解していません。
いくつかのWebサービスを作成するように依頼されましたが、そのうちの1つは、ユーザー(電子メール)とパスワードを取得し、結果としてjson文字列のフィードバックを出力することです。
sfGuardを使用してこのようなタスクを実行する方法についての手がかりがないので、誰かが例を持っているなら、それはありがたいです。
sf_guard_userテーブルで次のような行が見つかったため、アルゴリズムはsha1である必要があると思います。
symfony1 - コンポーネントを接続に動的にバインドする
私は2つの異なるコンテキストで閲覧できるsymfonyWebサイトを持っています。私はアプリケーションではなくコンテキストを意味します(私はysfDimensionsPluginを使用します)。最初のコンテキストでは、データベースdb1にバインドされたsfGuardを使用してユーザーを認証します。2番目のコンテキストでは、sfGuardを使用してユーザーを認証しますが、データベースdb2にバインドします。
これらの2つの接続は、databases.ymlで標準のsfDoctrineDatabaseオブジェクトとして定義されています。schema.ymlで、sfGuardコンポーネントをdb1接続にバインドします。したがって、私のsfGuard基本クラスには、次のものがあります。
私がやろうとしているのは、2番目のコンテキストにいる場合、sfGuardコンポーネントをdb2接続に動的にバインドすることです。したがって、グローバルpreExecuteメソッドでは、次のようにします。
バインディングは作成されますが、クエリが実行されるとすぐに上書きされます。sfAutoloadは、基本クラスを含むsfGuardクラスをロードし、次のように呼び出します。
だから私は尋ねています:それを解決するためにそれをどのように実装しますか?