web-dev-qa-db-ja.com

ユーザーが適切な役割を持っている限り、ユーザーへのルートを許可するにはどうすればよいですか?

多分これは初心者の質問ですが、ここに行きます:

4つのリンクを含むメニューがあります。ただし、現在のユーザーが「受益者」の役割を持っている場合にのみ、アイテムの1つにアクセスできるようにする必要があります。

ユーザーの「ロール」はあらゆる種類のロールを含む配列なので、ユーザーが正しいロールを持っている限り、ルートをどのように設定できますか?

IE、ランダムなユーザーが以下を持っているとしましょう:

$user['roles'] = ['authenticated', 'beneficiary', 'elected'];

と通過しますが、次のランダムなユーザー

$user['roles'] = ['authenticated', 'elected'];

しません。

方法があると確信していますが、Drupalのドキュメントで探しているものを明確に見つけることができません

前もって感謝します

4
Jaeger

私は個人的にこれを試したことはありませんが、routing.ymlファイルのように見え、要件の下で_role権限を指定できます。

https://www.drupal.org/docs/8/api/routing-system/structure-of-routes

my_module.your_route:
  path: '/your_menu_path'
  defaults:
    _controller: '\path\to\your\controller'
    _title: 'Menu title'
  requirements:
    _role: 'beneficiary'
10
user72086