hydra-sql/vendor/symfony/security-core
2022-05-03 08:54:45 +02:00
..
Authentication login consent app sql 2022-05-03 08:54:45 +02:00
Authorization login consent app sql 2022-05-03 08:54:45 +02:00
Encoder login consent app sql 2022-05-03 08:54:45 +02:00
Event login consent app sql 2022-05-03 08:54:45 +02:00
Exception login consent app sql 2022-05-03 08:54:45 +02:00
Resources/translations login consent app sql 2022-05-03 08:54:45 +02:00
Role login consent app sql 2022-05-03 08:54:45 +02:00
Signature login consent app sql 2022-05-03 08:54:45 +02:00
Test login consent app sql 2022-05-03 08:54:45 +02:00
User login consent app sql 2022-05-03 08:54:45 +02:00
Validator/Constraints login consent app sql 2022-05-03 08:54:45 +02:00
AuthenticationEvents.php login consent app sql 2022-05-03 08:54:45 +02:00
CHANGELOG.md login consent app sql 2022-05-03 08:54:45 +02:00
composer.json login consent app sql 2022-05-03 08:54:45 +02:00
LICENSE login consent app sql 2022-05-03 08:54:45 +02:00
README.md login consent app sql 2022-05-03 08:54:45 +02:00
Security.php login consent app sql 2022-05-03 08:54:45 +02:00

Security Component - Core

Security provides an infrastructure for sophisticated authorization systems, which makes it possible to easily separate the actual authorization logic from so called user providers that hold the users credentials.

Getting Started

$ composer require symfony/security-core
use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use Symfony\Component\Security\Core\Authorization\AccessDecisionManager;
use Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter;
use Symfony\Component\Security\Core\Authorization\Voter\RoleVoter;
use Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use Symfony\Component\Security\Core\Role\RoleHierarchy;

$accessDecisionManager = new AccessDecisionManager([
    new AuthenticatedVoter(new AuthenticationTrustResolver()),
    new RoleVoter(),
    new RoleHierarchyVoter(new RoleHierarchy([
        'ROLE_ADMIN' => ['ROLE_USER'],
    ]))
]);

$user = new \App\Entity\User(...);
$token = new UsernamePasswordToken($user, 'main', $user->getRoles());

if (!$accessDecisionManager->decide($token, ['ROLE_ADMIN'])) {
    throw new AccessDeniedException();
}

Sponsor

The Security component for Symfony 5.4/6.0 is backed by SymfonyCasts.

Learn Symfony faster by watching real projects being built and actively coding along with them. SymfonyCasts bridges that learning gap, bringing you video tutorials and coding challenges. Code on!

Help Symfony by sponsoring its development!

Resources