Ember js simple auth как перенаправить на другую страницу?

Привет, у меня простая аутентификация, и я хочу, чтобы моя индексная страница была только для пользователей, которые вошли в систему, и вместо перенаправления их на страницу входа я хочу, чтобы они были перенаправлены на мою страницу приветствия. Все остальные страницы, которые им не разрешено использовать, я хочу, чтобы они по-прежнему отправлялись на страницу входа. Это отличается только для моей индексной страницы. Я пробовал выполнить оператор if и перенаправление в маршруте index.js, но, похоже, ничего не работает. Я был бы очень признателен за помощь. Заранее спасибо.

Обновлять

поэтому я попытался изменить конфигурацию и перенаправить ее на страницу приветствия.

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);

Однако это все еще приводит меня к странице входа в систему.


person Zachary Force    schedule 02.02.2017    source источник
comment
Поместите файл маршрута index.js - что вы пробовали для I tried doing an if statement and a redirect in the index.js route   -  person Ember Freak    schedule 02.02.2017
comment
У меня есть аутентификация в маршруте для index.js с помощью AuthenticatedRouteMixin, но теперь он переносит меня на страницу входа в качестве страницы по умолчанию каждый раз, когда я перехожу на свою веб-страницу. Я хочу, чтобы он перешел на страницу приветствия вместо главной страницы моего веб-сайта.   -  person Zachary Force    schedule 02.02.2017


Ответы (1)


У вас есть два варианта для этого. Лучше всего установить authenticationRoute в вашем config/environments.js файле, как описано здесь.

Еще вы можете указать beforeModel на своем маршруте и перенаправить на страницу приветствия вручную, если пользователь не вошел в систему. Важно отметить, что если вы выбрали этот путь, вы не должны вызывать this._super(), если вы перенаправляете и используйте AuthenticatedRouteMixin, потому что AuthenticatedRouteMixin будет в основном перенаправлять на маршрут входа, указанный в вашем config/environments.js, когда вводится ловушка beforeModel.

person Lux    schedule 02.02.2017
comment
Это то, что я пытался сделать, но это не сработало (второй вариант, о котором вы упомянули). Может я что не так делаю? Не могли бы вы показать мне, как я могу это сделать, потому что каждый раз, когда я пытаюсь, я получаю неожиданную ошибку токена. Извините, я новичок в ember js - person Zachary Force; 05.02.2017
comment
Что ж, я настоятельно рекомендую вам первый подход, но если у вас есть нерабочий код, возможно, покажите его нам. Или построить нерабочий ember-twiddle. Просто отредактируйте свой вопрос. - person Lux; 06.02.2017