問題タブ [sfdoctrineguard]
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.
symfony1 - ユーザーが自分のパスワード、メールアドレス、プロフィールを変更できるようにする
私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:
sfGuardUserモジュールのおかげでユーザーを追加および編集できますが、ユーザーが自分のレコードのみを編集できるようにするにはどうすればよいですか?
ユーザーは、自分の電子メール、名前、パスワード、およびプロファイルを編集できるページにアクセスできる必要があります。
何か案は ?
symfony1 - ユーザーが自分の情報を変更できるようにする
Symfony を学習するために独自のブログ エンジンを作成していますが、質問があります。
ユーザーがパスワード、名前、およびプロファイル (埋め込みフォーム) を編集できるようにするにはどうすればよいですか?
sfGuardUser に管理モジュールを作成し、「権限」や「グループ」などのフィールドを非表示にしようとしましたが、そのフォームは保存時の権限を消去します :(
何か案は ?
security - 既存のユーザーとパスワードを新しいSymfony/sfDoctrineGuardユーザーシステムに移行する
フレームワークベースではない既存のPHP/MySQLWebサイトがあります。シンプルなセキュリティモデルがあり、ユーザー名とハッシュ(MD5)パスワードを含むusersテーブルがあります。
私は現在、このサイトの「バージョン2」に取り組んでいます。今回は、DoctrineでSymfonyを使用しています。新しいバージョンは正常に機能しており、ユーザー管理にsfDoctrineGuardプラグインを使用しています。
既存のユーザーを最小限の手間で新しいアプリに移行し、既存のユーザー名とパスワードを保持したいと思います。ただし、私の主な問題は、使用しているパスワードハッシュを変更したいということです。
現在のサイトでは、無塩のMD5ハッシュのパスワードを使用しています*。既存のアルゴリズムを維持しながら(無塩のMD5に独自の「アルゴリズム」関数を提供することにより)ユーザーをSymfony / sfDoctrineGuardに移行する方法はすでに理解していますが、無塩のmd5は明らかに理想的ではありません。
つまり、私の質問は、カスタムのプレーンMD5パスワードハッシュアルゴリズムを使用してsfDoctrineGuardユーザーに正常に移行できるユーザーがたくさんいる場合、それらのユーザーを標準のソルトされたSHA1sfDoctrineGuardアルゴリズムを使用するように変換する方法はありますか? ?
再ハッシュするためのユーザーのプレーンテキストパスワードを取得するのはこのときだけなので、各ユーザーがログインするときにのみ、ユーザーごとにこれを実行できると思います。私がする必要があるのは、「このユーザーはこのパスワードで正常にログインした」ポイントで何かにフックすることだと思います。これにより、ユーザーのアルゴリズム、ソルト、およびパスワードを新しいSHA1システムに設定し、ユーザーを彼らがそれについてさえ知らないデータベース。
少し掘り下げてみましたが、sfDoctrineGuard(具体的にはsfGuardSecurityUserだと思いますか?)ログインシステムを適切な場所でオーバーライドまたはフックする方法がわかりません。まあ、実際のプラグインファイルをハッキングせずにはいられません。これは悪そうです。
そこにいるSymfony/sfDoctrineGuardの専門家は私を正しい方向に向けることができますか?
*そのように私を見ないでください、それは私の最初のウェブサイトでした!そして、少なくとも私はそれらを平文で保存しませんでした...
php - sfDoctrineGuardPluginは、クレデンシャルを確認した後、クレデンシャルを忘れます
認証の問題の解決策を探しています。去年の5月に同じ問題(一番下の#2)を持っている人(symfony-users Googleグループ)を1人だけ見つけました。私の知る限り、リストに解決策は投稿されていません。
Mac OS Xの開発環境では、sfDoctrineGuardPluginが正しく機能しています。安全なページにアクセスしようとすると、ログインにリダイレクトされます。有効なクレデンシャルを入力すると、最初に要求されたページにリダイレクトされます。
DreamHostのテスト環境では、正しく機能していません。安全なページにアクセスしようとすると、ログインにリダイレクトされます。有効なクレデンシャルを入力すると、最初に要求されたページにリダイレクトされますが、symfonyは認証ステータスを失い、フォームを空にしてもう一度ログインに(再)リダイレクトします。(対照的に、無効な資格情報を入力すると、ログインページにエラーメッセージが表示され、ユーザー名は入力されたままになります。)
各環境で、symfonyは私のクレデンシャルが有効であり、「admin」権限を持っていることを確認しますが、テストは要求されたページにリダイレクトされるとすぐにそれらのクレデンシャルを忘れます。
apacheエラーログには興味深いものは何も表示されません。
開発ログスニペット:
テストログスニペット:
おそらく、開発ではナビゲーション/_navMenu行を説明しているがテストでは説明していないbackend/templates/layout.phpからのこのスニペットに言及する価値があります。
<?php if ($sf_user->isAuthenticated()): ?>
<?php include_component('navigation', 'navMenu'); ?>
...
<?php endif ?>
symfony-usersグループの関連記事:
symfonyとapacheの両方のログを確認する必要があります。
ガブリエル
5月28日午後2時33分、sdwddは次のように書いています。
こんにちは、みんな。
Symfony 1.4のインストールにいくつか問題があります:
1。[無関係]
2。sfGuardプラグインに問題があります。
開発環境では問題なく動作しますが、ユーザーがログインした後のテスト環境ではセッションが失われます。ユーザーはログインしますが、ページをリロードすると認証セッションが失われます。インストールは、sfGuardPluginといくつかのカスタムテンプレートを備えたコアSymfony1.4です。
それらについて何かアイデアはありますか?サーバー構成に問題があるように感じますが、何が間違っているのかわかりません(memory_limitを512Mbに上げました)。
ありがとう、
Serg
php - Symfony、sfDoctrineGuardPluginプラグインを使用して、sf_contentをカスタマイズするにはどうすればよいですか?パーシャルを使用していますか?
バックエンドにsfDoctrineGuardPluginでsymfony1.4.8を使用しています。
私の質問は、sfDoctrineGuardPluginのデフォルトコンテンツをどのようにカスタマイズできますか?たとえば、フィルターとテーブルの間のページ(左側のサイト)で何かを行うにはどうすればよいですか?または、テーブル(http://goo.gl/ZmRey)をカスタマイズするにはどうすればよいですか?
バックエンドでパーシャルを使用するための解決策が見つかりません。バックエンドでパーシャル/コンポーネント/スロットを使用する方法はありますか?
私の質問を理解して、方法を教えていただければ幸いです。
答えてくれてありがとう、アーマン
session - Symfony 1.4 で sfDoctrineGuard ログイン セッションを拡張しますか?
Symfony 1.4 で sfDoctrineGuard のログイン セッションの長さを延長する簡単な方法はありますか? 現在30分でタイムアウトしていると思いますが、もっと長くしたいと思います。
ありがとう
php - Symfony、Doctrine Guardプラグイン、generator.ymlファイル、別のモジュールを使用してカスタマイズ
私はSymfony1-4とsfDoctrineGuardPluginを使用しています。
私の質問は、Doctrine Guard Pluginについてですが、ご存知のとおり、各モジュールにはgenerator.ymlが付属しています。そして、generator.ymlをカスタマイズする必要があります。たとえば、別のテーブル(モジュール)の列を表示する必要があります。
// for example i am at X module and need to sort according to another table's/module's column
...
config:
list:
sort: [X, asc] // x is not on my module
リスト/表示についても同じです。現在のモジュールにない列を表示する必要があります...
ウェブ上で見つかりませんでした。エルマン、あなたのアイデアや情報を共有してくれてありがとう。
php - sfGuardSecurityUser でプロキシ メソッドが機能しない
ユーザーがアプリケーション内で実行する特定の要求を追跡するために、Symfony でフィルターを開発しています。現在のユーザーを取得するには、次のgetContext()
メソッドを使用します。
そして、そのプロパティにアクセスしようとします:
問題は、Symfony が次の例外を発生させることです: Call to a member function getUsername() on a non-object in ... sfGuardSecurityUser.class.php、この方法でユーザーを取得しない限り:
sfDoctrineGuardUser のドキュメント(およびソース コード) によると、次のようなプロキシ メソッドがあります。
プロキシ メソッドが機能しないのはなぜですか?
アップデート
数週間の開発の後、問題が再び発生しました。今回は$sf_user
変数を使ったビューから。でIDを取得できます
しかし、一緒ではありません
以下の私自身の答えは説明です。
symfony1 - symfony:sfDoctrineGuardPluginモジュールのカスタマイズ
sfGuardUserモジュールのフォームをカスタマイズしようとしています。sfGuardDoctrinePluginをインストールした後、Symfonyの設定より規約に従い、次の構造を作成しました。
ファイル内で、この関連する質問と公式ブログのこの投稿でgenerator.yml
提案されているように、デフォルトのプラグイン設定をオーバーライドしようとし
ました:
ただし、フォームにはデフォルト設定が反映されています。たとえば、まだ表示されていpermissions_list
ます。
さらに、sfGuardUserAdminFormをオーバーライドしてウィジェットの設定を解除しようとすると、ウィジェットも機能しないことがわかります。
どうすればそれを回避して実際のオーバーライドを強制できますか?私は何かが足りないのですか?
ありがとう!
UPDATE 1 回避策を見つけました。これは、グループにfalse値を割り当ててから、必要なフィールドを使用して新しいグループを設定します。
UPDATE 2 これは文書化されたバグですが、コア開発者はこれに対処していないようです。チケットには、私のようなこの問題を経験している人のためのパッチが含まれていました。
symfony1 - sfDoctrineGuard - ログインしているユーザーがメンバーであるグループのみを取得します
sfGuardGroup 列を持つテーブルがあるため、ユーザーがログインすると、グループ内のユーザーが作成したレコードのみが表示されます。
レコードを作成するとき、ログインしているユーザーがメンバーであるグループのみを含む sfGuardGroup の選択ボックスが必要です。
誰でもこれを行う方法を知っていますか?
ありがとう