Ember simple auth 1.0。自定义身份验证器

时间:2016-02-04 07:08:30

标签: ember.js ember-cli ember-simple-auth

有一个问题,

我想在环境中将 routeIfAlreadyAuthenticated 路由设置为具有基于登录用户的动态段(/:userid / dashboard)的路由。

我该怎么做?

//config/environment.js
  ENV['ember-simple-auth'] = {
    authorizer: 'authorizer:custom',

    routeAfterAuthentication: '/dashboard',
    routeIfAlreadyAuthenticated: '/dashboard'
  };

1 个答案:

答案 0 :(得分:0)

我认为你在config/enviroment.js文件中没有这种能力。我认为您可以做的是重定向到您拥有的某条路线,并使用该路线重定向到您想要的地方。像:

//config/environment.js
ENV['ember-simple-auth'] = {
authorizer: 'authorizer:custom',

routeAfterAuthentication: '/some-route',
routeIfAlreadyAuthenticated: '/some-route'
};

//router.js
this.route('some-route', { path: '/some-route' });
this.route('user-dashboard', { path: '/:id/dashboard' });

//some-route.js
export default Ember.Route.extend({
  userSession: Ember.inject.service(),
  beforeModel() {
   const user = userSession.get('currentUser'); 
   this.transitionTo('user-dashboard', user);
  }
});

此示例假定您拥有某种user-session服务,您可以.get('currentUser')登录用户。这样您就可以将该模型传递给transitionTo方法。

希望它有所帮助。