Basic Usage
Wildcard Permissions
Apache Shiro style wildcard permissions.
Enable wildcards in your config:
config/permissions.ts
defineConfig({
// ...
enableWildcardPermission: true,
})
Parts are separated by ., sub-parts by , and * matches anything:
await user.givePermissionTo('posts.*')
await user.can('posts.create') // true
await user.can('posts.edit.123') // true
await user.can('users.create') // false
await user.givePermissionTo('articles.view,edit')
await user.can('articles.edit') // true
await user.can('articles.delete') // false
await user.givePermissionTo('*') // everything
You can also use the matcher directly:
import { WildcardPermission } from '@eienjs/adonisjs-permission'
WildcardPermission.implies('posts.*', 'posts.create') // true
Wildcard checks load the model's permissions and compare them in memory. Keep permission names consistent.
