Simple authorization addon for Ember.js applications that provides helpers and services for permission checks.
Ember-can is an authorization addon for Ember.js that enables developers to implement permission-based access control in their applications. It provides a clean, declarative way to define abilities and check permissions across templates, routes, and components, leveraging Ember's reactivity system for automatic updates.
Ember.js developers building applications that require fine-grained user permissions, such as content management systems, admin panels, or multi-tenant platforms where access control is critical.
Developers choose Ember-can because it integrates seamlessly with Ember's conventions and reactivity, offering template helpers, ability classes, and service integration that make authorization logic feel native to the framework while keeping implementations simple and maintainable.
Simple authorisation addon for Ember apps
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides 'can' and 'cannot' helpers that integrate cleanly with Ember templates, enabling conditional rendering based on permissions with automatic reactivity when dependencies change.
Ability classes leverage Ember's computed properties, so permission checks automatically update in the UI when underlying data like user roles changes, ensuring consistency.
Supports complex scenarios by allowing additional attributes to be passed to abilities, making it suitable for multi-resource authorization without cluttering the model.
Offers the ability to override default parsing for ability names and properties, accommodating different naming conventions and project structures beyond the 'clever' default.
Requires manual import and resolver modification in the app file, a non-standard step that can cause setup errors if overlooked, as highlighted in the installation notes.
Tightly coupled with Ember.js and its specific versions (v4.12+), making it unsuitable for projects that might migrate or need cross-framework compatibility.
The default ability lookup logic is described as 'clever' and may not align with all project naming conventions, potentially requiring custom overrides and extra configuration.