0

タスクという名前のエンティティがあります。そして、フィールド、セッター、ゲッターがあります。このエンティティは正常に動作しています。ROLE_ADMIN から、更新、作成などを行うことができます...しかし、今はコントローラーを解決しています...そして、ROLE_USER からのインデックス アクションで、Task Entity のフィールド 'status' を更新するフォームを表示したいと考えています。どうすればこれを行うことができますか?

ROLE_USER が Task を更新するためのセキュリティ ファイルにアクセス権を与えることはできますか? はいの場合、例を教えてください。私はこれを試します:

- { path: ^/task/edit, roles: ROLE_ADMIN }
- { path: ^/task/edit, roles: ROLE_USER }

しかし、うまくいきませんでした。

4

1 に答える 1

1

ROLE_ADMIN で最初の行を削除すると、機能するはずです。デフォルト設定を使用する場合、ROLE_ADMIN は ROLE_USER を拡張します。つまり、ルートが ROLE_USER によってアクセス可能に設定されている場合、ROLE_ADMIN によっても自動的にアクセス可能になります。

構成では、ROLE_ADMIN を持つルートが最初に一致するため、403 エラーが発生し、2 番目のルートが使用されることはありません。

残りのアクションを保護し、編集のみにアクセスできるようにする場合は、次のようにします。

- { path: ^/task/edit, roles: ROLE_USER }
- { path: ^/task, roles: ROLE_ADMIN }

そうすれば、より具体的なルート /task/edit はユーザーをチェックしますが、/task で始まる他のすべてのルートは ROLE_ADMIN を必要とします。

于 2013-06-15T07:37:08.843 に答える