2015-08-17 2 views
0

Мне нужно реализовать следующую функцию: всякий раз, когда кто-то приходит на сайт, он видит форму входа в систему, и если он не выполнил вход в систему правильно, любой другой URL-адрес должен показать ему регистрационную форму.Войти с AngulaJS

как я могу это сделать?

У меня есть проект, я унаследованную и только начиная с Угловое, так что я понятия не имею, где я изменить первую страницу я показать и как блокировать несанкционированный доступ пользователей к другим URLs

+0

Как вы сохраняете данные пользователя в первую очередь? – Chris

+0

Я еще не знаю. Более поздние пользовательские данные будут использоваться для priviliges, но сейчас это всего лишь вопрос «находится ли этот пользователь в нашей базе данных» или нет. – SMSk

+0

короткий ответ: я регистрирую пользователей в качестве '$ rootScope.loggedInUser'. Я проверяю, вошел ли пользователь в систему с помощью разрешения в угловом маршрутизаторе, используя _input серверное промежуточное ПО здесь (обычно я использую паспорт) на любом маршруте, который мне нужен. –

ответ

1

Чтобы сохранить объяснение, как основные возможные угловые работы в основном файле index.html с помощью «контроллеров», чтобы объяснить браузеру клиента, что делать. Где-то в вашей иерархии папок должна быть папка с именем «partials», «templates», «views» или что-то подобное. Он должен содержать кучу небольших .html-файлов. Эти файлы заменяются с использованием AJAX, встроенного в угловое. Там должен быть тег элемента html, который содержит атрибут «ng-app =» whateverYourAppsNameIsHere »в теге открытия элемента, все, что находится между этим тегом, является« угловым ».

Угловое кажется сложным сначала, но как только вы держите он становится намного проще: все в атрибуте ng-app включено в ваши JS-файлы, и есть некоторые действительно хорошие бесплатные ресурсы, в том числе [codechool] (http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro), который имеет один и угловой. Google, размещает свои собственные " phonecat app ", которое объясняет все основы в довольно хороших деталях в учебном пособии с фрагментами кода, предоставленными для тех случаев, когда вы не можете это понять. Убедитесь, что вы используете эту ссылку, хотя [Google: Angular - Go to" tutorial " ] (https://angularjs.org/) В настоящее время существует Angular 2.0, который написан на языке TypeScript (короткая стрелка JS), найденном по адресу FYI Only: Make sure you're not on this domain Know th существует в том случае, если вы начинаете любить TypeScript, но я бы рекомендовал придерживаться простой угловой, пока вам не понравится.

Хорошо, так что это краткий всплеск того, что найти ваши файлы, и, надеюсь, поможет вам лучше понять любые ответы. По крайней мере, эти 2 действительно хорошие ресурсы, чтобы начать изучать Угловые.

Для вашего прямого вопроса: «Как вы управляете пользователями, входящими в систему или отправляющими их на страницу». Есть много способов выполнить эту задачу, поэтому я дам вам рекомендации о том, как лучше всего ее изучить, на мой взгляд. 1) Просмотрите «ng-if», который вы можете использовать для отображения/не отображения раздела страницы (или когда вы попросили повторный маршрут к форме входа, если не подтверждены). Обычно люди, как правило, используют «роутер» для угловых, UI довольно хорошо распознан, и вы можете найти его здесь: npm angular-ui-router. Вы также можете проверить кого-то на задней панели, когда они вызывают на сервер обновления страниц.

Таким образом, я знаю, что не ответил на ваш вопрос напрямую, но ссылки, которые я вам отправил, будут более чем отвечать на ваш вопрос, а также дать вам некоторое руководство, с которого можно начать изучение/поиск ресурсов. Если вы еще не знакомы, я бы порекомендовал вам создавать/поддерживать ваше приложение в Yeoman, если вы еще этого не сделали. [Yeoman] (http://http://yeoman.io/) и [Yeoman - tutorial] (https://www.youtube.com/watch?v=gKiaLSJW5xI) < - Этот парень УДИВИТЕЛЬНО для учебников, и он очень обнадеживает, когда вы царапаете голову, чувствуя себя переполненным кодирующими вещами.

Надеюсь, что это поможет, это 3-летняя стоимость ресурсов, направленных в 1 ответ на вопрос. Счастливое кодирование! ;)

+0

Спасибо за такой полный ответ! Я нашел config.js, в котором есть '...$ stateProvider.state ('app.home', {url: "/ home" ... 'написано. Я добавил в фигурные скобки' ... loginRequered: true ... 'и из моего контроллера попытаюсь использовать'. .. $ location.path ('/ login') ... 'в соответствии с [этот ответ] (http://stackoverflow.com/questions/19697004/angularjs-how-to-redirect-back-to-the-next -route-after-logging-in), но это не сработает. Что я делаю неправильно? – SMSk

+0

Ну, во-первых, вы правильно написали «Обязательно» в своем коде? У вас здесь есть «Required», и это выиграло Во-вторых, –

+0

Ну, во-первых, вы правильно указали «Обязательно» в своем коде? У вас здесь есть «Required», и это не будет работать на основе орфографии, даже если вы создали правильные элементы управления. Во-вторых, вы не требуется дополнительный набор фигурных скобок, просто добавьте существующие завитушки, чтобы добавить ваше дополнительное значение «loginRequested: true» после запятой. От «{url:«/home »}; до { url: "/ home", loginRequired: true }); –

Смежные вопросы