После курса Джона Папы я создаю SPA и стараюсь, чтобы пользователи добирались до SPA только после проверки Facebook/Google +. Для этого у меня есть два контроллера MCV, контроллер по умолчанию и посадкой называется Home/Index, и это отображает только вводный экран с кнопками входа FB/G +. После использования нажмите одну из кнопок и аутентифицируйте пользователей, затем перейдите на второй контроллер, который является фактической страницей SPA, и имеет div с id = applicationHost и где начинается загрузка оболочки и начинается SPA.SPA с двумя контроллерами MVC
Я использую следующие маршруты JSON массив для отображения моих маршрутов
var routes = [{
url: 'snaps',
moduleId: 'viewmodels/snaps',
name: 'Snaps',
visible: true
},{
url: 'places',
moduleId: 'viewmodels/places',
name: 'Places',
visible: true
}];
Но когда я называю router.map (config.routes) с последующим router.activate ('щелкает')
в маршрутизатор ищет маршрут защелкивается в корне всего приложения
URL, его пытается загрузить это как «локальный: XXXX/Главная/#»
В результате я получаю ошибку 404 от Сэмми.
Когда я вручную загружаюсь, перейдите в 'localhost: XXXX/SPA/Snaps/# Я получаю свое представление без проблем.
Как я могу заставить маршрутизатор искать «привязку» маршрутов и «место» в контроллере SPA MVC, а не в контроллере «Home».
Все это я делаю, чтобы удостовериться, что у меня есть люди, прошедшие проверку подлинности, прежде чем отправлять их в SPA, поэтому, если есть способ сделать аутентификацию в одном из видов SPA, я по существу избежал этой проблемы. Если нет ответа на мой вопрос выше, по крайней мере, если кто-то может пролить свет на то, как я могу сделать аутентификацию пользователя в SPA-обзоре, это тоже будет здорово.
Заранее спасибо
«Взятый ко второму контроллеру» - вы имеете в виду полное обновление страницы справа? IMHO (с тех пор как я его реализовал) «login «должен быть частью самого приложения SPA, так что он является одним из видов. Некоторые моменты: 1.) Создайте веб-API для процедуры входа в систему, вызываемой через ajax. 2.) Украсьте классы контроллеров авторизованным. Таким образом, никакие несанкционированные вызовы не будут успешными. – alpinescrambler
@alpinescrambler спасибо за ваш ответ, да, я делаю полное обновление страницы, но это только в первый раз (во время входа в систему). Я сделал это так, потому что я не мог понять, как сделать аутентификацию Facebook в режиме SPA. Не могли бы вы подробнее рассказать о пункте №. 1 у вас комментарий? Не могли бы вы пролить свет на то, как я могу сделать внешний OAuth с помощью webAPI. Еще раз спасибо. – indichimp