ねえ、これはあなたに少しを助ける;)アクションインサイド
:
class myAccountActions extends sfActions
{
public function executeDoThingsWithCredentials()
{
$user = $this->getUser();
// 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
}
}
層内部:
<?php if ($sf_user->hasCredential('section3')): ?>
....
<?php endif; ?>
あなたは加えて使用して検討するかもしれない:
if($user->hasGroup('SOME_GROUP'))
出典:Symfony inside the layer
ありがとうございました。私はまだ1つのことを得ていませんでした - 特定のグループの許可を確認するにはどうすればいいですか? (C ')) – Yos
の場合:$ this-> getUser() - > hasCertential(' B ')&& $ this-> getUserユーザーがコミュニティCの管理者であっても、コミュニティDの通常のユーザーの場合はどうなりますか?あなたのコードには、「ユーザーCはグループCに資格Bを持っていますか?」というような条件はありません。 –
はい(C)の場合、ユーザーAはグループBに許可タイプBを持っていますか? – Yos