【问题标题】:Ember js simple auth how to redirect to a different page?Ember js简单身份验证如何重定向到不同的页面?
【发布时间】:2017-02-02 17:19:34
【问题描述】:

嘿,所以我有简单的身份验证,我希望我的索引页面仅适用于已登录的用户,而不是将他们重定向到登录页面,我希望他们重定向到我的欢迎页面。他们无权使用的所有其他页面我希望它们仍然发送到登录页面。只有我的索引页不同。我尝试在 index.js 路由中执行 if 语句和重定向,但似乎没有任何效果。我非常感谢您的帮助。提前致谢。

更新

所以我尝试更改配置并将其重定向到这样的欢迎页面。

import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import Configuration from 'ember-simple-auth/configuration';
import ENV from 'myApp/config/environment';

ENV['ember-simple-auth'] = {
  authenticationRoute: 'welcome'
};

export default Ember.Route.extend(AuthenticatedRouteMixin);

但这仍然将我带到登录页面。

【问题讨论】:

  • 放入 index.js 路由文件 - 你为I tried doing an if statement and a redirect in the index.js route尝试了什么
  • 我让它在 index.js 的路由中使用 AuthenticatedRouteMixin 进行身份验证,但它现在将我带到登录页面,作为我每次访问网页时的默认页面。我希望它转到欢迎页面,而不是作为我网站的主页。

标签: ember.js ember-simple-auth


【解决方案1】:

您有两种选择。最好的选择是在config/environments.js 文件中设置authenticationRoute,如here 所述。

您可以做的另一件事是在您的路由上定义beforeModel 挂钩,如果用户未登录,则手动重定向到您的欢迎页面。重要的是要注意,如果您选择此路径,则不应调用this._super() 如果你重定向并使用AuthenticatedRouteMixin,因为AuthenticatedRouteMixin 基本上会在输入beforeModel 钩子时重定向到config/environments.js 中指定的登录路由。

【讨论】:

  • 这就是我试图做的,但它不起作用(你提到的第二个选项)。也许我做错了什么?你介意告诉我如何做到这一点,因为每次我尝试都会收到一个意外的令牌错误。对不起,我是 ember js 的新手
  • 好吧,我强烈建议您使用第一种方法,但如果您有非工作代码,可以向我们展示。或者建立一个不工作的ember-twiddle。只需编辑您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多