Security
Token
| Property | Value |
|---|---|
| Roles |
[ "ROLE_ADMIN" "ROLE_BRAND_ADMIN" "ROLE_USER" ] |
| Inherited Roles | none |
| Token | Symfony\Component\Security\Core\Authentication\Token\RememberMeToken {#620 -user: App\Entity\User {#833 …} -roleNames: [ "ROLE_ADMIN" "ROLE_BRAND_ADMIN" "ROLE_USER" ] -attributes: [] -secret: null -firewallName: "main" } |
Firewall
main
Name
Security enabled
Stateless
Configuration
| Key | Value |
|---|---|
| provider | security.user.provider.concrete.app_user_provider |
| context | main |
| entry_point | security.authenticator.form_login.main |
| user_checker | security.user_checker |
| access_denied_handler | (none) |
| access_denied_url | (none) |
| authenticators | [ "form_login" "remember_me" ] |
Listeners
| Listener | Duration | Response |
|---|---|---|
Symfony\Component\Security\Http\Firewall\ChannelListener {#556 -map: Symfony\Component\Security\Http\AccessMap {#557 …} -logger: Monolog\Logger {#538 …} -httpPort: 80 -httpsPort: 443 } |
(none) | (none) |
Symfony\Component\Security\Http\Firewall\ContextListener {#574 -sessionKey: "_security_main" -registered: false -trustResolver: Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver {#503 …} -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#568 …} -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#257 …} -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#573 …} -logger: Monolog\Logger {#538 …} -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#518 …} } |
40.08 ms | (none) |
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#569 -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#575 …} } |
0.17 ms | (none) |
Symfony\Component\Security\Http\Firewall\AccessListener {#598 -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#250 …} -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#252 …} -map: Symfony\Component\Security\Http\AccessMap {#557 …} } |
0.75 ms | (none) |
Symfony\Component\Security\Http\Firewall\LogoutListener {#502 -options: [ "csrf_parameter" => "_csrf_token" "csrf_token_id" => "logout" "logout_path" => "app_logout" ] -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#250 …} -httpUtils: Symfony\Component\Security\Http\HttpUtils {#528 …} -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#518 …} -csrfTokenManager: null } |
(none) | (none) |
Authenticators
| Status | Authenticator |
|---|---|
| skipped |
"Symfony\Component\Security\Http\Authenticator\FormLoginAuthenticator" This authenticator did not support the request. |
| skipped |
"Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator" This authenticator did not support the request. |
Access Decision
affirmative
Strategy
| # | Voter class |
|---|---|
| 1 | "Symfony\Component\Security\Core\Authorization\Voter\RoleVoter" |
| 2 | "App\Security\Voter\BrandVoter" |
Access decision log
| # | Result | Attributes | Object | ||
|---|---|---|---|---|---|
| 1 | GRANTED | ROLE_USER | Symfony\Component\HttpFoundation\Request {#10 +attributes: Symfony\Component\HttpFoundation\ParameterBag {#61 …} +request: Symfony\Component\HttpFoundation\InputBag {#48 …} +query: Symfony\Component\HttpFoundation\InputBag {#60 …} +server: Symfony\Component\HttpFoundation\ServerBag {#64 …} +files: Symfony\Component\HttpFoundation\FileBag {#63 …} +cookies: Symfony\Component\HttpFoundation\InputBag {#62 …} +headers: Symfony\Component\HttpFoundation\HeaderBag {#65 …} #content: "" #languages: null #charsets: null #encodings: null #acceptableContentTypes: null #pathInfo: "/admin/brand/1/collaborators" #requestUri: "/admin/brand/1/collaborators" #baseUrl: "" #basePath: "" #method: "GET" #format: null #session: Symfony\Component\HttpFoundation\Session\Session {#604 …} #locale: null #defaultLocale: "en" -preferredFormat: null -isHostValid: true -isForwardedValid: true -isSafeContentPreferred: ? bool -trustedValuesCache: [ "2\x0062.129.30.129\x00127.0.0.1\x00" => [ "62.129.30.129" ] "4\x00\x00\x00" => [] "32\x00\x00\x00" => [] "8\x00https\x00\x00" => [ "https" ] "16\x00443\x00\x00" => [ "0.0.0.0:443" ] ] -isIisRewrite: false : "html" } |
||
|
|||||
| 2 | GRANTED | ROLE_USER | null |
||
|
|||||
| 3 | GRANTED | BRAND_EDIT | App\Entity\Brand {#882 -id: 1 -name: "Albin Michel" -slug: "albin-michel" -apiKey: "494c994bd0cdc0f1845ef30c83269e52" -users: Doctrine\ORM\PersistentCollection {#885 …} -createdAt: DateTimeImmutable @1764599851 {#875 : 2025-12-01 14:37:31.0 UTC (+00:00) } -updatedAt: DateTimeImmutable @1764599851 {#878 : 2025-12-01 14:37:31.0 UTC (+00:00) } -onlineShops: Doctrine\ORM\PersistentCollection {#934 …} -brandShops: Doctrine\ORM\PersistentCollection {#924 …} -physicalShops: Doctrine\ORM\PersistentCollection {#1015 …} -brandPhysicalShops: Doctrine\ORM\PersistentCollection {#1040 …} } |
||
|
|||||
| 4 | GRANTED | ROLE_ADMIN | null |
||
|
|||||