src/AppBundle/SfExtend/AdminVoter.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace AppBundle\SfExtend;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface;
use Biz\User\CurrentUser;
class AdminVoter implements VoterInterface
{
const ADMIN = 'ROLE_ADMIN';
const BACKEND = 'ROLE_BACKEND';
public function supportsAttribute($attribute)
{
return $attribute === self::ADMIN || $attribute === self::BACKEND;
}
public function supportsClass($class)
{
// TODO: Implement supportsClass() method.
}
public function vote(TokenInterface $token, $object, array $attributes)
{
foreach ($attributes as $attribute) {
if (!$this->supportsAttribute($attribute)) {
return self::ACCESS_ABSTAIN;
}
}
$user = $token->getUser();
if (empty($user) || !$user instanceof CurrentUser) {
return self::ACCESS_DENIED;
}
if ($token->getUser()->isAdmin()) {
return self::ACCESS_GRANTED;
} else {
return self::ACCESS_DENIED;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。