0
私はezPublish 5.3を管理サイドでのみ使用しています。私がしたいのは、このバックオフィスのユーザー/ユーザーグループ/役割を管理し、FOSRestBundleの設計されたAPIへのアクセスを制御することです。ここでEzPublishユーザ:symfonyコントローラの前のezPublishアクセスコントロールの使用方法
は私のsecurity.ymlです:
security:
providers:
ezpublish:
id: ezpublish.security.user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
my_api:
pattern: ^/api/v[0-9]+
stateless: true
ezpublish_http_basic:
realm: eZ Publish REST API
ezpublish_front:
pattern: ^/
anonymous: ~
ezpublish_rest_session: ~
form_login:
require_previous_session: false
logout: ~
default:
anonymous: ~
そして、ここでは、私は私のコントローラで何をしたいです:
<?php
namespace Acme\AppBundle\Controller;
use FOS\RestBundle\Controller\FOSRestController;
class ItemsController extends FOSRestController
{
public function postItemsAction(Request $request)
{
if (!$this->get('security.authorization_checker')->isGranted('EZ_CUSTOM_ROLE')) {
throw new \Exception('No Auth');
}
//... do something
}
}
私はこの応答を得た:
{
"code": 0,
"message": "User 'USER_LOGIN' doesn't have user/login permission to SiteAccess 'site'"
}
方法私はそれを達成することはできますか? ユーザーロールを取得するにはどうすればよいですか?
プロファイラーでは、このアクションに基本認証を使用して標準POSTを実行すると、ユーザーはデフォルトのSymfonyロールROLE_USER
に接続されていることがわかります。ここで