Согласно официальной документации:
Инъекция пользователя
Как способность узнает, кто вошел в систему? Это зависит от того, как вы реализуете это в своем приложении!
Если вы используете Ember.Service
в качестве своего сеанса, вы можете просто внедрить его в способность:
// app/abilities/foo.js
import Ember from 'ember';
import { Ability } from 'ember-can';
export default Ability.extend({
session: Ember.inject.service()
});
Если вы используете ember-simple-auth, вы, вероятно, захотите внедрить сеанс simple-auth-session:main
в классы способностей.
Для этого добавьте инициализатор следующим образом:
// app/initializers/inject-session-into-abilities.js
export default {
name: 'inject-session-into-abilities',
initialize(app) {
app.inject('ability', 'session', 'simple-auth-session:main');
}
};
Классы способностей теперь будут иметь доступ к сеансу, который затем можно использовать для проверки того, вошел ли пользователь в систему и т. д.
person
Samuel Herzog
schedule
20.01.2017