問題タブ [symfony2-voter]
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 - 2番目のオブジェクトなしで小枝で有権者を呼び出す
私は新しいsymfonyプロジェクトを開発しており、カスタムボーターを実装しました。コントローラーでは、 を介して有権者を呼び出すことができますが$this->isGranted('view',$team)
、そのためにはチーム オブジェクトが必要です。チームを表示したい場合は問題ありません。しかし、今はトップメニューのみのベーステンプレートがあります。true が返されたときに「チーム」ボタンのみを表示したいのです$this->isGranted('view',$team)
が、このテンプレートではチームを表示しないため、この関数を通過できるチーム オブジェクトがありません。最初の twig テンプレートは、プロジェクトの概要です。これどうやってするの?base-template に空白の team-object を渡す必要がありますか? 誰でも私を助けることができますか?
php - Symfony Voter 定数の使用法
私はボーター、特にvoteOnAttribute
次のようなメソッドを定義しました:
メソッドでVoterInterface
定数 ( ACCESS_GRANTED
、ACCESS_ABSTAIN
、 )を使用できないのはなぜですか?ACCESS_DENIED
vote
私がそうすると、抽象クラスのメソッドのために、アクセス拒否の決定は強制されませんVoter
:
ACCESS_DENIED
では定数が -1 に設定されているためVoterInterface
、if ($this->voteOnAttribute($attribute, $subject, $token))
return が -1 であっても条件は true です。
ここで何を間違えていますか?voteOnAttribute
これらの定数は、カスタムメソッドで使用する予定ですか?
注:有権者戦略をに設定しunanimous
ましたsecurity.yml
symfony - サブリソースを介したsymfonyボーターが呼び出されていません
コンテキストは次のとおりです。
Symfony 3.4 と api-platform を使用しています。
私は2つのクラスを持っています:
- サプライヤー
- 製品
仕入先の全商品を一覧表示したい
Supplier エンティティでは、通常の CRUD メソッドに access_control を実装しました。
また、正常に機能しないサブリソースを通るルートもあります。
問題は、サブリソースのアクセス制御が機能しないことです。そこでは、このリソースに対する許可について投票者をチェックすることになっていますが、投票者をチェックせず、403 を返す必要があるときに HTTP 応答コード 200 を返します。
access_control の代わりにセキュリティを使用しているドキュメントを確認しました。
そして、それも機能しません。
有権者が呼び出されない理由についての手がかりやヒントを誰かが持っていますか?