問題タブ [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.
php - Symfony で適切な認証情報をチェックするには、アクション クラスに preExecute() 関数が必要ですか?
資格情報を実装するには、次のような preExecute 関数を実装する必要がありますか?
または、次のように module/config/security.yml で定義するだけで十分ですか:
ただし、security.yml のみを使用して解決することはできません。preExecute は必要ないと思っていたので、symfony は security.yml 定義をロードすることで自動的にそれを処理します! 助けてください!
私は sfDoctrineGuardPlugin と sfForkedDoctrineApply プラグインを使用しています..
login - sfDoctrineGuard のログインを埋め込み、ログイン成功時にユーザーを別のアプリのデフォルト ルートに移動する方法は?
基本的には、アプリ A と B があり、次の 2 つが必要です。
1) A のレイアウトに埋め込まれたログイン フォーム
2) ログインが成功すると、B のデフォルト ルートにリダイレクト
前もって感謝します。
php - 現在ログインしているユーザーを表示する
私はSymfonyとsfDoctrineGuardPluginを使用しています。
テンプレートに現在のユーザーのユーザー名を表示するにはどうすればよいですか?
$ this-> getUser()-> getUsername()を試しましたが、「未定義のメソッドsfPHPView::getUserを呼び出してください」というエラーだけが表示されます。
特定のモジュール/テンプレートではなく、layout.phpにユーザー名を表示しようとしています
authorization - 動的グループのセキュリティ フィルターを実装する場所
まず、文脈を大まかに説明します。さまざまな領域を作成できる symfony アプリケーションが必要です。それぞれの領域で、さまざまな種類のユーザー (またはロール) を持つことができます。各ユーザーは、さまざまな領域で複数の役割を持つことができます。
質問を説明するために、次のように定義します。
- 「エリア1」と「エリア2」の2エリア。
- 2 ユーザー: 「ユーザー 1」と「ユーザー 2」。
- 「売り手」と「買い手」の2つの役割。
- 「ユーザー 1」は「エリア 1」の売り手と買い手です。
- 「ユーザー 2」は「エリア 1」では売り手と買い手、「エリア 2」だけでは買い手
私の質問は、ユーザーが特定の領域に属しており、その領域で必要な役割を持っているかどうかを制限されたページにチェックインする最良の方法です。
少し考えた結果、以下のようにしました。
- エリアが作成されると、ロールごとに 1 つの sfGuardGroup と、エリア用に 1 つのグローバル sfGuardGroup も作成し、それぞれにエリア ID のサフィックスを付けます。したがって、この例では、次の役割があります。
- エリア 1、セラー 1、エリア 1 のバイヤー 1
- エリア 2、売り手 2、エリア 2 の買い手 2
- ユーザーが関連するグループに追加されます。したがって、この例では次のようになります。
- ユーザー 1 は、グループ area-1、sellers-1、buyers-1 に属します。
- ユーザー 2 は、グループ area-1、sellers-1、buyers-1、area-2、buyers-2 に属します。
- URL から、私たちがどの地域にいるのかがわかります。たとえば、次のようになります。
- http://example.com/area-1/sellers-restricted-page (グループ area-1 および Sellers-1 のユーザーがアクセス可能)
- http://example.com/area-2/buyers-restricted-page (グループ area-2 およびbuyers-2 のユーザーがアクセス可能)
- http://example.com/area-2/ (グループ area-2 のユーザーがアクセス可能)
その時点で、アクセス許可チェックを実装するのに最適な場所がわからないので、ちょっと行き詰まりました: ガード フィルターを変更しますか? アクションを変更しますか?
authentication - Symfony:「セキュア」および「ログイン」アクションを別のアプリケーションにルーティングする
3つのアプリがあるとします- appMain
、、。app1
app2
アプリケーション1と2は保護されておりis_secure: true
、sfDoctrineGuardプラグインですべて正常に動作します。
私が達成したい動作は、ユーザーが認証されていない場合、たとえばappMain
定義されたモジュールとアクションを使用して、ユーザーを別のユーザーに転送する現在のアプリケーションです。
それは可能ですか?または、誰かがsymfonyのセキュリティメカニズムについて掘り下げる場所を教えてもらえますか?
php - Symfony sfDoctrineGuardPluginを使用する場合、ユーザーグループと権限などの設定が必要です。
Symfonyとの最初の実際のプロジェクトです。バックエンドアプリケーションの権限など、いくつかの設定が必要です。
私は知っています、私はsfDoctrineGuardPluginでそれをしなければなりません。しかし、私は方法がわかりませんか?私はsymfonyのウェブサイトでsfDoctrineGuardPluginについてのすべてを読みました。しかし、私はまだ何も見つけていません。
- ユーザーグループを実装する方法は?私はスーパー管理者(私はそれをしました)、編集長、編集者、著者が必要です。
- それらの間に権限を設定する方法は?たとえば、すべての作成者は自分のデータを見るだけです。編集者は、作者が書いたものを編集できます...
高度に感謝します...
symfony1 - SymfonysfDoctrineGuardPluginカスタムログインクエリ
symfony sfDoctrineGuardPluginを使用して、フロントエンドユーザーとバックエンドユーザーの両方の認証を管理しています。フロントエンドユーザーがバックエンドアプリにログインできないようにすることを除いて、問題ありません。クレデンシャルを設定できますが、ユーザーが認証された後にクレデンシャルがチェックされます。私が欲しいのは、バックエンドグループに属していないユーザーを決して検証しないようにsiginをフォームに含めることです。これどうやってするの?
symfony1 - symfony管理ジェネレーター:保存する前にユーザーIDを追加します
私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:
ブログ投稿用に生成された管理ページには、author_idを示すための作成者のドロップダウンリストがあります。
そのドロップダウンリストを非表示にし、投稿の作成時に(ただし、編集時ではなく)、author_idを現在ログインしているユーザーのIDに設定したいと思います。
どうすればそれを達成できますか?
編集 私はそれらを試しました:
processForm()およびexecuteCreate()
解決しました!
最終的なコードは次のとおりです。
symfony1 - sfDoctrineGuardPlugin を使用します。ユーザーの選択なしに id フィールドを設定したい
私は Symfony 1.4 と Doctrine 1.2 と sfDoctrineGuardPlugin を使用しています。記事作成ページがあります。私の記事テーブルには、どのユーザー (作者) が書いたかを保存するための profile_id フィールドがあります。
私の問題は、ユーザーが記事を書いてクリックして保存すると、ユーザーから profile_id を取得できても、自動的に profile_id を設定できないことです。
私の articleForm クラスでは、選択ボックスのデフォルト値を設定できますが、ユーザーはそれを変更できます。読み取り専用にしようとすると、profile_id を db に保存できません。
articleForm クラスの構成関数は次のとおりです。
// getting user_id
$user = sfContext::getInstance()->getUser();
$user_id = $user->getGuardUser()->getId();
読み取り専用にするために、次を使用しました:
$this->offsetUnset("profile_id");
しかし、前に言ったように、この方法では、profile_id を db に保存できません。コードの 2 番目の部分がないと、現在の ID がデフォルトになりますが、ユーザーはそれを変更できます。
どうすれば解決できますか?何か案が?どうもありがとう...
security - Symfony sfDoctrineGuardPlugin を使用すると、ユーザーは実際には URL を変更することで開くことができないページを開くことができます
Symfony 1.4、sfDoctrineGuardPlugin を使用しています。
私のバックエンド アプリでは、ユーザーは URL を手動で変更することによって、実際にはアクセスできないページにアクセスできます。それを止める方法はありますか?
たとえば、すべての作成者が自分のデータに通常どおりアクセスできるとします。ただし、URL の ID を変更すると、必要な記事を編集できます。インターネットで検索しましたが、解決策が見つかりませんか? 方法を知っていますか?
どうもありがとう。