|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Есть single page приложение на аsp.net, вся логика конечно построена на ajax запросах, каждый такой запрос должен проверять ответ на то, истекла-ли сессия, и если да, то перенаправить на логин страницу, этот код находится в каждом методе, каждом компоненте. Можно все это как-то обьединить в одно место что-б не плодить один и тот-же код по всей системе? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2018, 11:10 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Lessyp, повесить ajax hook, который при получении кода 401 редиректит на логин страницу. естественно нужно отключить авторедирект в asp.net. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2018, 11:40 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
гуглите: angular 4 interceptor. Там уже много примеров. Если у вас обычный модуль Http, то надо будет его заменить на HttpClient. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2018, 18:01 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Lessyp, Я сделал так. Каждый запрос должен быть авторизован, это понятно. Без авторизации - нет данных - это рулится на сервере. Один запрос на всё приложение (оно в корневом компоненте) дергает сервер раз в 15 секунд, на предмет "сессия жива еще?" Если "чо-не-так", то "обнуляется" переменная " currentLoggedUser ". За этой переменной смотрит спецовый обработчик и как только она становится равной NULL - обработчик "обнуляет" все sensitive данные и выкидывает юзера на страницу логина. Без хуков. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2018, 18:42 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортом, 401, 403 не обрабатываешь? просто вываливаешься с ошибкой? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2018, 19:42 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, 401, 403 не обрабатываешь? просто вываливаешься с ошибкой? ) Если сессии нет, то уходит на панель логина. Если нет прав, то юзер не сможет зайти - куда не надо - нет кнопки/интерфейса. Если слишком умный и вручную вбил URL (прислали по почте), а прав нет, то отправится туда, куда можно вверх по иерархии. Элемент --> Список элементов --> Список справочников --> Начальная страница. Ошибки не вываливаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 09:12 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли сессии нет, то уходит на панель логина. Запрос может уйти между очередной проверкой наличия сессии и её потерей. Тогда что будет? Ошибка? Ты же не в курсе, есть там сессия или нет, 10 секунд назад может и была. Агнец за бортомЕсли слишком умный и вручную вбил URL (прислали по почте), а прав нет, то отправится туда, куда можно вверх по иерархии. Речь про AJAX-запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 09:50 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
hVosttТы же не в курсе, есть там сессия или нет, 10 секунд назад может и была. Это да. У юзера есть шанс потупить несколько секунд на тост "Ошибка при получении данных". Потом - на страницу логина. Вообще - кейс редкий, и возникает, когда "уполномоченный" сбрасывает сессию юзера вручную. Так что тут не до финтифлюшек. hVosttРечь про AJAX-запросы. У меня других и нет (в данном приложении). Все URL-ы - обрабатываются на клиенте - являясь путем к компонентам. А сами компоненты - дёргают данные, на которые у юзера может не быть прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 10:15 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
buredгуглите: angular 4 interceptor. Там уже много примеров. Если у вас обычный модуль Http, то надо будет его заменить на HttpClient. спасибо, примерно то, что надо ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:08 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомОдин запрос на всё приложение (оно в корневом компоненте) дергает сервер раз в 15 секунд, на предмет "сессия жива еще?" ну у нас немного другой случай, аутентификация на токенах, технически ничто не мешает знать валидный он или уже нет и без пингов, просто по времени истечения, просто хочется этот код как-то в одном месте иметь ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:11 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомЭто да. У юзера есть шанс потупить несколько секунд на тост "Ошибка при получении данных". Потом - на страницу логина. Вопрос в том, само приложение переходит на логин после ошибки "при получении данных", или вынужден топтать F5? ) Агнец за бортомВообще - кейс редкий, и возникает, когда "уполномоченный" сбрасывает сессию юзера вручную. Так что тут не до финтифлюшек. То, что для разработчика выглядит "редким исключением", вываливается в первую очередь у пользователей, и за ошибки, в которых юзер ни разу не виновать, бьют больнее. И вопрос-то фигня. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 13:45 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
hVosttили вынужден топтать F5? В контексте моего случая - F5 приведет к перезагрузке всего приложения. Но на страницу логина. Отвечая на вопрос - ничего жать не надо - само перейдёт. hVosttТо, что для разработчика выглядит "редким исключением" Не совсем понял. "Редкое исключение" - это "вдруг пропала" сессия. "Вдруг" она может пропасть, если её кто то удалил. Во всех остальных случаях "пропаданием" сессии рулит сам юзер. Посредством кнопки "выхАд" ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 15:55 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомОтвечая на вопрос - ничего жать не надо - само перейдёт. Это ж ТРУ СПА! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 16:22 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомНе совсем понял. "Редкое исключение" - это "вдруг пропала" сессия. "Вдруг" она может пропасть, если её кто то удалил. Ну ты же сам сказал, между проверками сессии есть 15 секунд. Ну да ладно, проехали. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 18:15 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомЭто ж ТРУ СПА! Тру это микро-сервисы в докерах :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 18:15 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttТы же не в курсе, есть там сессия или нет, 10 секунд назад может и была. Это да. У юзера есть шанс потупить несколько секунд на тост "Ошибка при получении данных". Потом - на страницу логина. Вообще - кейс редкий, и возникает, когда "уполномоченный" сбрасывает сессию юзера вручную. Так что тут не до финтифлюшек.все больше склоняюсь к мысли, что сессии - зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 22:14 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
ой, кажись сессию со стейтом перепутал. короче, я за stateless. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2018, 22:15 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Antonariyвсе больше склоняюсь к мысли, что сессии - зло. В общем смысле да, зло. В реальности, правильные сессии добро, в правильном контексте применения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 15:13 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
hVosttправильные сессии добро, Что такое правильные сессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 16:44 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttправильные сессии добро, Что такое правильные сессии? Сессии, которые приносят больше пользы, чем вреда. Например, контекст безопасности, который сопровождает работу пользователя, слишком большой, чтобы перемещаться в зашифрованной куки и слишком затратно восстанавливать его на каждый запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 16:48 |
|
Перенаправление на Login страницу в Angular 4
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомпропущено... Что такое правильные сессии? Сессии, которые приносят больше пользы, чем вреда. Например, контекст безопасности, который сопровождает работу пользователя, слишком большой, чтобы перемещаться в зашифрованной куки и слишком затратно восстанавливать его на каждый запрос. Ну вот, Антониарий так не считает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2018, 17:18 |
|
|
start [/forum/topic.php?fid=18&fpage=21&tid=1355243]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 149ms |
0 / 0 |