Symfony: динамически устанавливать безопасный флаг над классом фильтра - PullRequest
0 голосов
/ 05 января 2011

Я хочу динамически решить, является ли приложение безопасным или нет.Можно ли установить флаг безопасности (который обычно устанавливается в security.yml) над классом фильтра?

Спасибо за ваши ответы.

1 Ответ

0 голосов
/ 06 января 2011

Конечно можно.

Для управления учетными данными пользователя sfBasicSecurityUser предоставляет несколько методов:

// Add one or more credentials
$user->addCredential('foo');
$user->addCredentials('foo', 'bar');

// Check if the user has a credential
echo $user->hasCredential('foo');                      =>   true

// Check if the user has both credentials
echo $user->hasCredential(array('foo', 'bar'));        =>   true

// Check if the user has one of the credentials
echo $user->hasCredential(array('foo', 'bar'), false); =>   true

// Remove a credential
$user->removeCredential('foo');
echo $user->hasCredential('foo');                      =>   false

// Remove all credentials (useful in the logout process)
$user->clearCredentials();
echo $user->hasCredential('bar');                      =>   false

Источник: Практическая Symfony - 13 день - Пользователь

В вашем действии у вас есть доступ к объекту пользователя с помощью метода getUser ():

$user = $this->getUser();
...