Symfony2 Получение текущего пользователяPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Symfony2 Получение текущего пользователя

Сообщение Anonymous »

Я разрабатываю API, и не могу получить текущего пользователя, когда пытаюсь использовать BasicAuth:

Код: Выделить всё

FatalErrorException: Error: Call to a member function getUser() on a non-object
Ниже вы найдете часть Security.yml, которая вызывает ошибку (я думаю, что это так):

Код: Выделить всё

firewalls:
dev:
pattern:  ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern:        ^/
anonymous:      true
stateless:      true
http_basic:
realm:  "REST Service Realm"
provider:   fos_userbundle

access_control:
- { path: ^/users/me,       role: IS_AUTHENTICATED_FULLY }
Я просто указал путь в access_control, который тестирую. У меня есть еще несколько.

Я использую FOSRestBundle, а также FOSUserBundle (как вы можете видеть), и я не хотел ставить префикс, потому что это быть лишним:

Код: Выделить всё

// Routing.yml
rest :
type : rest
resource : "routing_rest.yml"
Теперь часть, в которой возникает ошибка, находится в UserController (расширяющем FOSUser):

Код: Выделить всё

private function response($data, $status, $groups = array())
{
$currentUser = $this->container->get('security.context')->getToken()->getUser();
if (!$currentUser)
$groups = array("anon");
else
{
if ($currentUser->hasRole("ROLE_SUPER_ADMIN"))
array_push($groups, "admin");
else if ($currentUser->hasRole("ROLE_ADMIN"))
array_push($groups, "admin");
else if ($currentUser->hasRole("ROLE_USER"))
array_push($groups, "user");
}
return $this->view($data, $status)->setSerializationContext(SerializationContext::create()->setGroups($groups));
}
Есть идеи, в чем дело?

Подробнее здесь: https://stackoverflow.com/questions/264 ... rrent-user
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»