Skip to content

Caching ​

Permission lookups can be cached per actor and scope.

The cache key includes:

  • actor type
  • actor ID
  • scope type
  • scope ID
  • package cache version

Assignments clear their own actor/scope cache when they change. access:sync and access:clear advance the package cache version, which invalidates old entries without flushing the whole application cache.

Caching is disabled by default in the testing environment.

Invalidation ​

The package invalidates relevant entries when assignments change. Full sync and clear commands advance the package cache version:

bash
php artisan access:sync
php artisan access:clear

That makes old keys unreachable without flushing unrelated application cache entries.

When to Disable Cache ​

Disable cache while debugging authorization behavior:

php
'cache' => [
    'enabled' => false,
],

Leave it disabled in tests so assertions always read current database state.