
Security News
How Enterprise Security Is Adapting to AI-Accelerated Threats
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.
ember-route-constraints
Advanced tools
Route navigation constraints for Ember apps.
Sometimes we want to restrict who can visit a route based on some
conditions. A common approach to solve this issue is to have a
beforeModel hook and then transtion from there if the user can't
visit the route.
beforeModel() {
if (!this.get('currenUser.isAdmin')) {
this.transitionTo('index');
}
}
While this approach works, it starts to get messy, repetitive and difficult to follow as applications grow.
This addon follows a similar pattern to liquid-fire so you can
define all your routes constraints using a declaritive DSL. If the
given conditions are not met, then you can redirect users to a
different route.
Create a file in app/route-constraints.js like:
// app/route-constraints.js
export default function() {
this.transition(
this.toRoute('admin'),
this.check(function() {
return this.get('currentUser.isAdmin');
}),
this.redirectTo('index')
);
this.transition(
this.toRoute(['paid-feature', 'help']),
this.check(function() {
return this.get('currentUser.isSubscribed');
}),
this.redirectTo('subscribe')
);
}
And then add the ConstrainableMixin to the routes you want to constraint.
//app/admin/route.js
import Route from '@ember/routing/route';
import Constrainable from 'ember-route-constraints/mixins/constrainable';
export default Route.extend(Constrainable, {});
You can install either ember install:
For Ember CLI >= 0.2.3:
ember install ember-route-constraints
For Ember CLI < 0.2.3:
ember install:addon ember install ember-route-constraints
git clone this repositoryyarn installember servernpm test (Runs ember try:testall to test your addon against multiple Ember versions)ember testember test --serverember buildFor more information on using ember-cli, visit http://www.ember-cli.com/.
FAQs
Route navigation constraints for Ember apps.
We found that ember-route-constraints demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.