NOTE: This is the version for Feathers v5. For Feathers v4 use feathers-casl v0
Add access control with CASL to your feathers application.
This project is built for FeathersJS. An open source web framework for building modern real-time applications. It's based on CASL and is a convenient layer to use CASL in feathers.js.
create
, find
, get
, update
, patch
, remove
, or create
, read
, update
, delete
can('view', 'Settings')
(Bring your custom logic)can('create', 'Task', { userId: user.id })
cannot('update', 'User', ['roleId'])
$select
: can('read', 'User', ['id', 'username'])
-> $select: ['id', 'username']
@feathersjs/knex
, @feathersjs/memory
, @feathersjs/mongodb
, feathers-sequelize
, not supported: feathers-mongoose
, feathers-nedb
, feathers-objection
checkBasicPermission
hook for client side usage as a before-hookauthorize
hook for complex rulesmulti
methods (create
, patch
, remove
) dynamically with: can('remove-multi', 'Task', { userId: user.id })
channels
-support also regards restrictive fieldscheckCan
to be used in hooks to check authorization before operations@casl/angular
, @casl/react
, @casl/vue
and @casl/aurelia
You need more information? Please have a look: https://feathers-casl.netlify.app/
npm i feathers-casl @casl/ability
Simply run npm test
and all your tests in the test/
directory will be run. It has full support for Visual Studio Code. You can use the debugger to set breakpoints.
For more information on all the things you can do, visit FeathersJS and CASL.
Licensed under the MIT license.