我的网站有许多页面不需要登录,还有一些页面可以执行,而ember-simple-auth在转换到需要身份验证的页面时效果很好。当我在不需要身份验证的页面上,并且我尝试登录时,我将转换为为routeAfterAuthentication
设置的任何内容。
不幸的是,我真正想要的是,如果我在一个不需要身份验证的页面上,例如,/posts/1234
并且我进行了身份验证,那么我将返回posts/1234
。如何实现这一目标?
我已经通过ember-simple-auth
ApplicationRouteMixin
代码来了解覆盖sessionAuthenticated
的合适方法,但我仍然不知道如何将生成的应用程序路由通知为返回的路线,或应该给出路线的参数。
答案 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, {});