Skip to content

Authorization Inspector

Inspect the security and authorization configuration of your application.

Authorization Inspector

What It Shows

SectionDescription
GuardsSecurity guards/firewalls configuration
Role hierarchyRole inheritance tree
VotersAuthorization voters/policies registered
Security configFull security configuration dump

API Endpoints

MethodPathDescription
GET/inspect/api/authorizationGuards, role hierarchy, voters, security config

Adapter Support

AdapterProviderNotes
Yii 3Yii3AuthorizationConfigProviderAppDevPanel\Adapter\Yii3\Inspector\Yii3AuthorizationConfigProviderReads RBAC / User / Auth / Access services (all optional)
SymfonySymfonyAuthorizationConfigProviderAppDevPanel\Adapter\Symfony\Inspector\SymfonyAuthorizationConfigProviderReads security.firewalls, security.role_hierarchy, security.voter-tagged services; registered automatically when symfony/security-bundle is installed
LaravelLaravelAuthorizationConfigProviderAppDevPanel\Adapter\Laravel\Inspector\LaravelAuthorizationConfigProviderReads config/auth.php guards and providers; lists Gate abilities and policies via reflection
Yii 2Yii2AuthorizationConfigProviderAppDevPanel\Adapter\Yii2\Inspector\Yii2AuthorizationConfigProviderReads the user component (identity class, login/session settings) and, when configured, authManager roles/permissions/rules
CycleNullAuthorizationConfigProviderAppDevPanel\Api\Inspector\Authorization\NullAuthorizationConfigProviderDefault no-op provider when no framework adapter supplies authorization config.final API · class · implements AuthorizationConfigProviderInterfaceORM-only adapter — returns an empty configuration

Live Demo

The Yii 3 playground (playground/yii3-app) ships a full authorization showcase:

  • three users (alice / bob / carol) backed by an in-memory identity repository
  • RBAC hierarchy seeded on first boot: admin → editor → reader → view-dashboard, plus the edit-post and delete-post permissions
  • Bearer / Basic / query-parameter guards registered as a Composite
  • a /authorization page that switches users via ?token=alice-demo-token and probes permissions live

Start the playground and visit http://127.0.0.1:8101/authorization to try it; the ADP Authorization Inspector (/inspect/#/authorization) shows the same data pulled from the running container.

Yii 3 — per-section requirements

Each section of the Yii 3 response is populated only when the relevant package is in the container (listed under suggest in the adapter's composer.json):

SectionRequired package
Guardsyiisoft/auth
Role hierarchyyiisoft/rbac
Votersyiisoft/access and/or yiisoft/rbac
Security config / current useryiisoft/user

Symfony — per-section requirements

Requires symfony/security-bundle. Sections map to Symfony security primitives:

SectionSource
GuardsParameter security.firewalls + all collected security.firewall.map.config.{name}.* sub-parameters
Role hierarchyParameter security.role_hierarchy.roles
VotersServices tagged security.voter
Security configsecurity.access_control, security.access.decision_manager.strategy, providers from security.user.provider.concrete.*

Laravel — per-section requirements

Built-in Laravel authorization is always available; optional packages extend it:

SectionSource
Guardsconfig('auth.guards') with provider class resolved from config('auth.providers.*.model') or driver
Role hierarchyEmpty by default; populated from Spatie\Permission\Models\Role::with('permissions') when spatie/laravel-permission is installed
VotersIlluminate\Contracts\Auth\Access\Gate: abilities defined via Gate::define() and policies registered via Gate::policy() (read through reflection)
Security configconfig('auth.defaults'), config('auth.providers'), config('auth.passwords'), config('auth.password_timeout')

Yii 2 — per-section requirements

Session-based auth is always available; RBAC is optional:

SectionSource
GuardsSingle user guard with provider = identityClass and login/session config (loginUrl, enableSession, authTimeout, absoluteAuthTimeout, enableAutoLogin)
Role hierarchyYii::$app->authManager->getRoles() + getChildren($role) — empty when the authManager component is not configured
VotersauthManager roles + permissions + rules (each typed accordingly)
Security configuser snapshot (identityClass, isGuest, id) + authManager class and defaultRoles

Released under the MIT License.