https://verwaltung.plattform-handwerk.kursimple.de/rest/course/144?showFields=1

Security

Token

Username
Authenticated
Property Value
Roles
[
  "ROLE_USER"
]
Inherited Roles
[
  "ROLE_FRONTEND"
]
Token
League\Bundle\OAuth2ServerBundle\Security\Authentication\Token\OAuth2Token {#676
  -user: League\Bundle\OAuth2ServerBundle\Security\User\NullUser {#631 …}
  -roleNames: [
    "ROLE_USER"
  ]
  -authenticated: true
  -attributes: [
    "access_token_id" => "c85ab6c58539719ff236fd1351583da7fa07c76e0f253fcb01d6daee3fce77c9b97a3e747c3cd280"
    "oauth_client_id" => "65c6366c620f9"
    "scopes" => [
      "user"
    ]
  ]
}

Firewall

rest Name
Security enabled
Stateless

Configuration

Key Value
provider App\User\Security\UserProvider
context rest
entry_point security.authenticator.oauth2.rest
user_checker security.user_checker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "oauth2"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#223
  -map: Symfony\Component\Security\Http\AccessMap {#224 …}
  -authenticationEntryPoint: null
  -logger: Symfony\Bridge\Monolog\Logger {#215 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#250
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#319 …}
  -sessionKey: "_security_rest"
  -logger: Symfony\Bridge\Monolog\Logger {#215 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#249 …}
  -dispatcher: Symfony\Component\EventDispatcher\EventDispatcher {#244 …}
  -registered: false
  -trustResolver: Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver {#198 …}
  -rememberMeServices: null
  -sessionTrackerEnabler: [
    Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#323 …}
    "enableUsageTracking"
  ]
}
6.29 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#174
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#259 …}
}
111.58 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#261
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#323 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#642 …}
  -map: Symfony\Component\Security\Http\AccessMap {#224 …}
  -authManager: null
  -exceptionOnNoToken: false
}
0.84 ms (none)

Authenticators

Authenticator Supports Duration Passport
"League\Bundle\OAuth2ServerBundle\Security\Authenticator\OAuth2Authenticator"
101.60 ms
Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport {#153
  #user: League\Bundle\OAuth2ServerBundle\Security\User\NullUser {#631 …}
  -badges: [
    "Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge" => Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge {#142
      -userIdentifier: ""
      -userLoader: Closure(string $userIdentifier): UserInterface {#152 …}
      -user: League\Bundle\OAuth2ServerBundle\Security\User\NullUser {#631 …}
    }
    "League\Bundle\OAuth2ServerBundle\Security\Passport\Badge\ScopeBadge" => League\Bundle\OAuth2ServerBundle\Security\Passport\Badge\ScopeBadge {#667
      -resolved: true
      -scopes: [
        "user"
      ]
    }
  ]
  -attributes: [
    "accessTokenId" => "c85ab6c58539719ff236fd1351583da7fa07c76e0f253fcb01d6daee3fce77c9b97a3e747c3cd280"
    "oauthClientId" => "65c6366c620f9"
  ]
}

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
4
"App\Security\Voter\CategoryVoter"
5
"App\Security\Voter\CourseDataVoter"
6
"App\Security\Voter\CourseFieldVoter"
7
"App\Security\Voter\CourseOccurrenceVoter"
8
"App\Security\Voter\CourseSecurityVoter"
9
"App\Security\Voter\CourseSeriesVoter"
10
"App\Security\Voter\CourseSubscriptionVoter"
11
"App\Security\Voter\CourseTypeVoter"
12
"App\Security\Voter\CourseVoter"
13
"App\Security\Voter\FrontendClientVoter"
14
"App\Security\Voter\InvoiceVoter"
15
"App\Security\Voter\OAuthClientVoter"
16
"App\Security\Voter\OccurrenceVoter"
17
"App\Security\Voter\OrderVoter"
18
"App\Security\Voter\PersonVoter"
19
"App\Security\Voter\VenueSecurityVoter"
20
"App\Security\Voter\VenueVoter"
21
"App\User\Security\Voter\ClientVoter"

Access decision log

# Result Attributes Object
1 GRANTED IS_AUTHENTICATED_FULLY
Symfony\Component\HttpFoundation\Request {#57
  +attributes: Symfony\Component\HttpFoundation\ParameterBag {#99 …}
  +request: Symfony\Component\HttpFoundation\InputBag {#105 …}
  +query: Symfony\Component\HttpFoundation\InputBag {#100 …}
  +server: Symfony\Component\HttpFoundation\ServerBag {#96 …}
  +files: Symfony\Component\HttpFoundation\FileBag {#97 …}
  +cookies: Symfony\Component\HttpFoundation\InputBag {#98 …}
  +headers: Symfony\Component\HttpFoundation\HeaderBag {#95 …}
  #content: ""
  #languages: null
  #charsets: null
  #encodings: null
  #acceptableContentTypes: null
  #pathInfo: "/rest/course/144"
  #requestUri: "/rest/course/144?showFields=1"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: "json"
  #session: Symfony\Component\HttpFoundation\Session\Session {#262 …}
  #locale: null
  #defaultLocale: "de"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: null
  basePath: ""
}
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
ACCESS GRANTED
Show voter details
2 GRANTED view
App\Entity\Course {#1602
  #id: 144
  #created: DateTime @1716532985 {#1597
    date: 2024-05-24 06:43:05.0 UTC (+00:00)
  }
  #modified: DateTime @1743490740 {#1600
    date: 2025-04-01 06:59:00.0 UTC (+00:00)
  }
  #client: Proxies\__CG__\App\User\Entity\Client {#1423 …}
  #title: "Brandschutztechniker/in im Handwerk"
  #subtitle: null
  #courseNature: "Course"
  #subscription: null
  #description: "<p style="text-align:justify;">Im Lehrgang wird neben grundlegenden Rechtsvorschriften auch der Umgang und die Zusammenarbeit mit Behörden vermittelt. Die Schwerpunkte der praktischen Ausbildung beginnen mit baulichem und anlagentechnischem Brandschutz über den organisatorischen Brandschutz und werden in zahlreichen anschaulichen praktischen Beispielen und mit Übungen vertieft.</p><p style="text-align:justify;">Natürlich ist die Brandverhütungsschau ein umfassender Schwerpunkt, da sie ja die zukünftige Schwerpunktaufgabe des/der Brandschutztechniker/in sein kann. Weiterhin wird das Erstellen einer Brandschutzordnung ebenso wie Feuerwehrpläne nach DIN 14095 vermittelt. Die Prüfung zum Brandschutzbeauftragten (vfdb-Richtlinie 12-09:2014-08(03)) ist ebenfalls Bestandteil der Ausbildung.</p><p style="text-align:justify;">Die entsprechende Kalkulation für die Dienstleitung am Markt bildet auch einen wichtigen Ausbildungsinhalt.&nbsp;</p><p>Der/die&nbsp; Brandschutztechniker/in hat folgende Aufgaben und Dienstleistungen:&nbsp;</p><p>&nbsp;</p><p>1. Identifizierung&nbsp;<span style="color:black;">potenzieller Brandgefahren</span></p><p><span style="color:black;">2. Überwachung der Einhaltung der Maßnahmen des behördlichen geforderten &nbsp; &nbsp; Brandschutzkonzepts.</span></p><p><span style="color:black;">3. Durchführung von Schulungen und Übungen für Mitarbeiter, um sie im Umgang mit Bränden und in der Evakuierung zu schulen.</span></p><p><span style="color:black;">4. Sicherstellung, dass alle Brandschutzmaßnahmen den gesetzlichen Vorgaben und Normen entsprechen.</span></p><p><span style="color:black;">5. Erarbeitung und Pflege von Notfall- und Evakuierungsplänen.</span></p><p><span style="color:black;">6. Ansprechpartner für Vertreter von Behörden, Versicherern und Berufsgenossenschaften bei Begehungen.&nbsp;</span></p>"
  #searchwords: null
  #price: 4281.62
  #rabatt: null
  #taxRate: 19.0
  #occurrences: Doctrine\Common\Collections\ArrayCollection {#1593 …}
  #category: Proxies\__CG__\App\Entity\Category {#1825 …}
  #images: Doctrine\ORM\PersistentCollection {#1624 …}
  #number: "K-22-2034"
  #materialCost: null
  #targetAgeMin: null
  #targetAgeMax: null
  #texts: Doctrine\ORM\PersistentCollection {#1913 …}
  #series: null
  #type: Proxies\__CG__\App\Entity\CourseType {#1933 …}
  #invoiceUpperComment: null
  #invoiceLowerComment: null
  #invoiceLowerCommentDebit: null
  -courseProviders: Doctrine\ORM\PersistentCollection {#1993 …}
  +fields: [
    [
      "id" => 6
      "name" => "Kurs-Nr."
      "value" => ""
    ]
    [
      "id" => 31
      "name" => "Affiliate-Kurs-Link"
      "value" => ""
    ]
    [
      "id" => 34
      "name" => "Teilnehmeradresse"
      "value" => ""
    ]
  ]
}
"App\Security\Voter\CategoryVoter"
ACCESS ABSTAIN
"App\Security\Voter\CourseDataVoter"
ACCESS ABSTAIN
"App\Security\Voter\CourseFieldVoter"
ACCESS ABSTAIN
"App\Security\Voter\CourseOccurrenceVoter"
ACCESS ABSTAIN
"App\Security\Voter\CourseSecurityVoter"
ACCESS GRANTED
Show voter details