ember simple auth:登录后重定向到上一个路由

时间:2016-12-06 22:47:03

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

我的网站有许多页面不需要登录,还有一些页面可以执行,而ember-simple-auth在转换到需要身份验证的页面时效果很好。当我在不需要身份验证的页面上,并且我尝试登录时,我将转换为为routeAfterAuthentication设置的任何内容。

不幸的是,我真正想要的是,如果我在一个不需要身份验证的页面上,例如,/posts/1234并且我进行了身份验证,那么我将返回posts/1234。如何实现这一目标?

我已经通过ember-simple-auth ApplicationRouteMixin代码来了解覆盖sessionAuthenticated的合适方法,但我仍然不知道如何将生成的应用程序路由通知为返回的路线,或应该给出路线的参数。

2 个答案:

答案 0 :(得分:0)

EmberJS路由器保存有关用户所在位置的信息,因此只需将其添加到actions对象的routes / application.js文件中:

sessionAuthenticationSucceeded: function() {
  this.transitionTo(
    this.controllerFor('application').get('previousRouteName')
  );
}

这可能会由ember-simple-auth人员更好地记录下来。

答案 1 :(得分:0)

我的应用程序默认执行此操作,这是您的身份验证路径的样子吗?

import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';

export default Ember.Route.extend(AuthenticatedRouteMixin, {});