Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
12.11 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.09 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    On the other hand, which do you prefer, this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}\n
    </span>\n
    ```\n
    \n
    or this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> MODE UNIVERSE = [upb OF class universe, upb OF class universe]BOOL; STRUCT( INT upb, BOOL lifeless, alive, PROC(REF UNIVERSE)VOID init, PROC(REF UNIVERSE)STRING repr, PROC(REF UNIVERSE, INT, INT)VOID insert glider, PROC(REF UNIVERSE)VOID next ) class universe = ( # upb = # 50, # lifeless = # FALSE, # alive = # TRUE, # PROC init = # (REF UNIVERSE self)VOID: FOR row index FROM LWB self TO UPB self DO init row(self[row index, ]) OD, # PROC repr = # (REF UNIVERSE self)STRING:( FORMAT cell = $b("[]", " ")$, horizon = $"+"n(UPB self)("--")"+"l$; FILE outf; STRING out; associate(outf, out); putf(outf, (horizon, $"|"n(UPB self)(f(cell))"|"l$, self, horizon)); close(outf); out ), # PROC insert glider = # (REF UNIVERSE self, INT row, col)VOID:( self[row-2, col+1]&nbsp;:= TRUE; self[row-1, col+2]&nbsp;:= TRUE; self[row, col:col+2]&nbsp;:= (TRUE, TRUE, TRUE ) ), # PROC next = # (REF UNIVERSE self)VOID:( [0:2, LWB self-1:UPB self+1]BOOL window;  # init row(window[LWB window, ]); window[LWB self, 2 LWB window]&nbsp;:= window[LWB self, 2 UPB window]&nbsp;:= window[UPB window, 2 LWB window]&nbsp;:= window[UPB window, 2 UPB window]&nbsp;:= lifeless OF class universe;  window[LWB self, LWB self:UPB self]&nbsp;:= self[LWB self, ]; FOR row FROM LWB self TO UPB self DO REF []BOOL next row = window[(row+1) MOD 3, ]; IF row NE UPB self THEN next row[LWB self:UPB self]&nbsp;:= self[row+1, ] ELSE init row(next row) FI; FOR col FROM LWB self TO UPB self DO INT live&nbsp;:= 0;  FOR row FROM row-1 TO row+1 DO REF[]BOOL window row = window[row MOD 3, ]; FOR col FROM col-1 TO col+1 DO IF window row[col] THEN live +:= 1 FI OD OD; self[row, col]&nbsp;:= IF window[row MOD 3, col] THEN live -:=  live = 3 FI OD OD ) );\n
    </span>\n
    ```
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704897870 {#1769
    date: 2024-01-10 15:44:30.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@IrateAnteater@sh.itjust.works"
    "@fl42v@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 296015
  -bodyTs: "'+1':141,170,231,248,274,291 '+2':147,153 '-1':145,167,271,288 '-2':139 '0':15,18,163,266 '1':11,14,16,17,19,299 '2':164,181,187,193,199 '3':12,233,283,310,315 '4':13 '50':65 'aliv':38,68 'associ':110 'b':100 'bool':32,36,171,226,277 'cell':99,120 'class':26,30,62,204 'close':124 'col':135,140,146,151,152,256,285,287,290,296,305,311 'els':249 'f':119 'fals':67 'fi':254,300,316 'file':106 'format':98 'glider':56,129 'hand':4 'horizon':101,115,123 'index':78,90 'init':43,71,86,173,250 'insert':55,128 'int':34,52,53,133,264 'l':105,121 'life':10 'lifeless':37,66,202 'live':265,298,313,314 'lwb':80,165,176,179,182,185,194,207,209,214,219,242,258 'mod':232,282,309 'mode':22 'n':102,116 'ne':236 'next':61,158,227,240,252 'od':91,301,302,317,318 'outf':107,111,114,125 'prefer':8 'proc':39,44,49,57,70,92,127,157 'putf':113 'ref':40,45,50,58,72,94,130,159,225,276 'repr':48,93 'row':77,87,89,134,138,144,150,174,217,228,230,235,241,247,251,253,268,270,273,279,281,295,304,308 'self':74,81,84,88,96,104,118,122,132,137,143,149,161,166,169,180,186,208,210,212,213,215,220,223,238,243,245,246,259,262,303 'string':47,97,108 'struct':33 'true':69,142,148,154,155,156 'univers':23,27,31,41,46,51,59,63,73,95,131,160,205 'upb':24,28,35,64,83,103,117,168,188,191,197,200,211,222,237,244,261 'void':42,54,60,75,136,162 'window':172,175,177,178,183,184,189,190,192,195,196,198,201,206,229,278,280,294,307"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7347898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704897870 {#1969
    date: 2024-01-10 15:44:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    On the other hand, which do you prefer, this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}\n
    </span>\n
    ```\n
    \n
    or this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> MODE UNIVERSE = [upb OF class universe, upb OF class universe]BOOL; STRUCT( INT upb, BOOL lifeless, alive, PROC(REF UNIVERSE)VOID init, PROC(REF UNIVERSE)STRING repr, PROC(REF UNIVERSE, INT, INT)VOID insert glider, PROC(REF UNIVERSE)VOID next ) class universe = ( # upb = # 50, # lifeless = # FALSE, # alive = # TRUE, # PROC init = # (REF UNIVERSE self)VOID: FOR row index FROM LWB self TO UPB self DO init row(self[row index, ]) OD, # PROC repr = # (REF UNIVERSE self)STRING:( FORMAT cell = $b("[]", " ")$, horizon = $"+"n(UPB self)("--")"+"l$; FILE outf; STRING out; associate(outf, out); putf(outf, (horizon, $"|"n(UPB self)(f(cell))"|"l$, self, horizon)); close(outf); out ), # PROC insert glider = # (REF UNIVERSE self, INT row, col)VOID:( self[row-2, col+1]&nbsp;:= TRUE; self[row-1, col+2]&nbsp;:= TRUE; self[row, col:col+2]&nbsp;:= (TRUE, TRUE, TRUE ) ), # PROC next = # (REF UNIVERSE self)VOID:( [0:2, LWB self-1:UPB self+1]BOOL window;  # init row(window[LWB window, ]); window[LWB self, 2 LWB window]&nbsp;:= window[LWB self, 2 UPB window]&nbsp;:= window[UPB window, 2 LWB window]&nbsp;:= window[UPB window, 2 UPB window]&nbsp;:= lifeless OF class universe;  window[LWB self, LWB self:UPB self]&nbsp;:= self[LWB self, ]; FOR row FROM LWB self TO UPB self DO REF []BOOL next row = window[(row+1) MOD 3, ]; IF row NE UPB self THEN next row[LWB self:UPB self]&nbsp;:= self[row+1, ] ELSE init row(next row) FI; FOR col FROM LWB self TO UPB self DO INT live&nbsp;:= 0;  FOR row FROM row-1 TO row+1 DO REF[]BOOL window row = window[row MOD 3, ]; FOR col FROM col-1 TO col+1 DO IF window row[col] THEN live +:= 1 FI OD OD; self[row, col]&nbsp;:= IF window[row MOD 3, col] THEN live -:=  live = 3 FI OD OD ) );\n
    </span>\n
    ```
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704897870 {#1769
    date: 2024-01-10 15:44:30.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@IrateAnteater@sh.itjust.works"
    "@fl42v@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 296015
  -bodyTs: "'+1':141,170,231,248,274,291 '+2':147,153 '-1':145,167,271,288 '-2':139 '0':15,18,163,266 '1':11,14,16,17,19,299 '2':164,181,187,193,199 '3':12,233,283,310,315 '4':13 '50':65 'aliv':38,68 'associ':110 'b':100 'bool':32,36,171,226,277 'cell':99,120 'class':26,30,62,204 'close':124 'col':135,140,146,151,152,256,285,287,290,296,305,311 'els':249 'f':119 'fals':67 'fi':254,300,316 'file':106 'format':98 'glider':56,129 'hand':4 'horizon':101,115,123 'index':78,90 'init':43,71,86,173,250 'insert':55,128 'int':34,52,53,133,264 'l':105,121 'life':10 'lifeless':37,66,202 'live':265,298,313,314 'lwb':80,165,176,179,182,185,194,207,209,214,219,242,258 'mod':232,282,309 'mode':22 'n':102,116 'ne':236 'next':61,158,227,240,252 'od':91,301,302,317,318 'outf':107,111,114,125 'prefer':8 'proc':39,44,49,57,70,92,127,157 'putf':113 'ref':40,45,50,58,72,94,130,159,225,276 'repr':48,93 'row':77,87,89,134,138,144,150,174,217,228,230,235,241,247,251,253,268,270,273,279,281,295,304,308 'self':74,81,84,88,96,104,118,122,132,137,143,149,161,166,169,180,186,208,210,212,213,215,220,223,238,243,245,246,259,262,303 'string':47,97,108 'struct':33 'true':69,142,148,154,155,156 'univers':23,27,31,41,46,51,59,63,73,95,131,160,205 'upb':24,28,35,64,83,103,117,168,188,191,197,200,211,222,237,244,261 'void':42,54,60,75,136,162 'window':172,175,177,178,183,184,189,190,192,195,196,198,201,206,229,278,280,294,307"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7347898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704897870 {#1969
    date: 2024-01-10 15:44:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    On the other hand, which do you prefer, this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}\n
    </span>\n
    ```\n
    \n
    or this:\n
    \n
    ```\n
    \n
    <span style="color:#323232;"> MODE UNIVERSE = [upb OF class universe, upb OF class universe]BOOL; STRUCT( INT upb, BOOL lifeless, alive, PROC(REF UNIVERSE)VOID init, PROC(REF UNIVERSE)STRING repr, PROC(REF UNIVERSE, INT, INT)VOID insert glider, PROC(REF UNIVERSE)VOID next ) class universe = ( # upb = # 50, # lifeless = # FALSE, # alive = # TRUE, # PROC init = # (REF UNIVERSE self)VOID: FOR row index FROM LWB self TO UPB self DO init row(self[row index, ]) OD, # PROC repr = # (REF UNIVERSE self)STRING:( FORMAT cell = $b("[]", " ")$, horizon = $"+"n(UPB self)("--")"+"l$; FILE outf; STRING out; associate(outf, out); putf(outf, (horizon, $"|"n(UPB self)(f(cell))"|"l$, self, horizon)); close(outf); out ), # PROC insert glider = # (REF UNIVERSE self, INT row, col)VOID:( self[row-2, col+1]&nbsp;:= TRUE; self[row-1, col+2]&nbsp;:= TRUE; self[row, col:col+2]&nbsp;:= (TRUE, TRUE, TRUE ) ), # PROC next = # (REF UNIVERSE self)VOID:( [0:2, LWB self-1:UPB self+1]BOOL window;  # init row(window[LWB window, ]); window[LWB self, 2 LWB window]&nbsp;:= window[LWB self, 2 UPB window]&nbsp;:= window[UPB window, 2 LWB window]&nbsp;:= window[UPB window, 2 UPB window]&nbsp;:= lifeless OF class universe;  window[LWB self, LWB self:UPB self]&nbsp;:= self[LWB self, ]; FOR row FROM LWB self TO UPB self DO REF []BOOL next row = window[(row+1) MOD 3, ]; IF row NE UPB self THEN next row[LWB self:UPB self]&nbsp;:= self[row+1, ] ELSE init row(next row) FI; FOR col FROM LWB self TO UPB self DO INT live&nbsp;:= 0;  FOR row FROM row-1 TO row+1 DO REF[]BOOL window row = window[row MOD 3, ]; FOR col FROM col-1 TO col+1 DO IF window row[col] THEN live +:= 1 FI OD OD; self[row, col]&nbsp;:= IF window[row MOD 3, col] THEN live -:=  live = 3 FI OD OD ) );\n
    </span>\n
    ```
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704897870 {#1769
    date: 2024-01-10 15:44:30.0 +01:00
  }
  +ip: null
  +tags: [
    "323232"
  ]
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@IrateAnteater@sh.itjust.works"
    "@fl42v@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 296015
  -bodyTs: "'+1':141,170,231,248,274,291 '+2':147,153 '-1':145,167,271,288 '-2':139 '0':15,18,163,266 '1':11,14,16,17,19,299 '2':164,181,187,193,199 '3':12,233,283,310,315 '4':13 '50':65 'aliv':38,68 'associ':110 'b':100 'bool':32,36,171,226,277 'cell':99,120 'class':26,30,62,204 'close':124 'col':135,140,146,151,152,256,285,287,290,296,305,311 'els':249 'f':119 'fals':67 'fi':254,300,316 'file':106 'format':98 'glider':56,129 'hand':4 'horizon':101,115,123 'index':78,90 'init':43,71,86,173,250 'insert':55,128 'int':34,52,53,133,264 'l':105,121 'life':10 'lifeless':37,66,202 'live':265,298,313,314 'lwb':80,165,176,179,182,185,194,207,209,214,219,242,258 'mod':232,282,309 'mode':22 'n':102,116 'ne':236 'next':61,158,227,240,252 'od':91,301,302,317,318 'outf':107,111,114,125 'prefer':8 'proc':39,44,49,57,70,92,127,157 'putf':113 'ref':40,45,50,58,72,94,130,159,225,276 'repr':48,93 'row':77,87,89,134,138,144,150,174,217,228,230,235,241,247,251,253,268,270,273,279,281,295,304,308 'self':74,81,84,88,96,104,118,122,132,137,143,149,161,166,169,180,186,208,210,212,213,215,220,223,238,243,245,246,259,262,303 'string':47,97,108 'struct':33 'true':69,142,148,154,155,156 'univers':23,27,31,41,46,51,59,63,73,95,131,160,205 'upb':24,28,35,64,83,103,117,168,188,191,197,200,211,222,237,244,261 'void':42,54,60,75,136,162 'window':172,175,177,178,183,184,189,190,192,195,196,198,201,206,229,278,280,294,307"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7347898"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704897870 {#1969
    date: 2024-01-10 15:44:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#312
  +icon: Proxies\__CG__\App\Entity\Image {#293 …}
  +name: "programmer_humor@programming.dev"
  +title: "programmer_humor"
  +description: """
    Welcome to Programmer Humor!\n
    \n
    This is a place where you can post jokes, memes, humor, etc. related to programming!\n
    \n
    For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
    \n
    Rules\n
    -----\n
    \n
    - Keep content in english\n
    - No advertisements\n
    - Posts must be related to programming or programmer topics
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 297
  +entryCommentCount: 2799
  +postCount: 1
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729523671 {#320
    date: 2024-10-21 17:14:31.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#284 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
  +entries: Doctrine\ORM\PersistentCollection {#227 …}
  +posts: Doctrine\ORM\PersistentCollection {#185 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
  +bans: Doctrine\ORM\PersistentCollection {#164 …}
  +reports: Doctrine\ORM\PersistentCollection {#150 …}
  +badges: Doctrine\ORM\PersistentCollection {#128 …}
  +logs: Doctrine\ORM\PersistentCollection {#118 …}
  +awards: Doctrine\ORM\PersistentCollection {#107 …}
  +categories: Doctrine\ORM\PersistentCollection {#94 …}
  -id: 100
  +apId: "programmer_humor@programming.dev"
  +apProfileId: "https://programming.dev/c/programmer_humor"
  +apPublicUrl: "https://programming.dev/c/programmer_humor"
  +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
  +apInboxUrl: "https://programming.dev/inbox"
  +apDomain: "programming.dev"
  +apPreferredUsername: "programmer_humor"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1726902871 {#321
    date: 2024-09-21 09:14:31.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1700391429 {#315
    date: 2023-11-19 11:57:09.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details