このチュートリアルhttp://ivangospodinow.com/zend-framework-2-acl-setup-in-5-minutes-tutorial/に従って、プロジェクトで ACL を解決しました。Module.php を変更する必要があります。次に、現在接続しているユーザーの役割を要求する必要があります。
私の質問は、 Module.php で現在接続されているユーザーのインデントを取得するにはどうすればよいですか?
私は次のようなことをしたいと思います:
$userRole = $this->getServiceLocator()->get('AuthService')->getStorage()->read()->statut
私の実際のコード:
public function checkAcl(MvcEvent $e) {
$route = $e -> getRouteMatch() -> getMatchedRouteName();
///////// current connected user's role
$userRole = 'guest';
if (!$e -> getViewModel() -> acl -> isAllowed($userRole, $route)) {
$response = $e -> getResponse();
//location to page or what ever
$response -> getHeaders() -> addHeaderLine('Location', $e -> getRequest() -> getBaseUrl() . '/404');
$response -> setStatusCode(303);
}
}
ありがとうございました