Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / spring mvc & spring security / 8 сообщений из 8, страница 1 из 1
14.12.2012, 19:07:46
    #38080021
dexsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
Доброго времени суток,

Использую для разработки сайта Spring MVC и Spring Security.
На некоторых страницах используется ajax для частичной перерисовки части страницы.
Ajax запрос формирует на сервере html который далее вставляется в тег div. Подход довольно стандартный.
Но есть странность.
Если пользователь разлогинен (скажем время сессии истекло, или разлогинился в другом окне браузера) то после выполнения ajax запроса в ответ прилетает страница аутентификации. Эта страница вставляется в div описанный выше.

Вопрос: как с этим бороться ?
...
Рейтинг: 0 / 0
14.12.2012, 19:10:35
    #38080027
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
проверять hhtp код ответа в аджакс хандлере
...
Рейтинг: 0 / 0
14.12.2012, 20:57:31
    #38080129
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
http status code
...
Рейтинг: 0 / 0
14.12.2012, 21:57:29
    #38080193
dexsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
Похоже, что jQuery (а я его использую) сильно умный.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	$.ajax({
		type : "get",
		url : "get-items.json",
		data : {},
		statusCode : {
			200 : function(d) {
				alert("200" + d);
			},
			302 : function(d) {
				alert("302" + d);
			}
		},
		success : function(data, st) {
			alert(st);
		},
		error : function() {
			alert("error");
		}
	});



Возвращает 200 - success.
Хотя firebug говорит
302 для get-items.json
и затем
200 для login.html
...
Рейтинг: 0 / 0
14.12.2012, 23:36:21
    #38080286
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
Ну, дык 302 это редирект. Нужно 401\403 в случае ошибки авторизации.
...
Рейтинг: 0 / 0
15.12.2012, 17:20:18
    #38080600
dexsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
Blazkowicz,

Так на запрос (если не авторизован) возвращается именно 302-я.
...
Рейтинг: 0 / 0
15.12.2012, 19:27:23
    #38080664
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
dexsuТак на запрос (если не авторизован) возвращается именно 302-я.... которая обязана перебросить на страницу авторизации.
Если клиент может переавторизовываться прозрачно для пользователя отвечайте кодом 401 (authorization required).
...
Рейтинг: 0 / 0
15.12.2012, 19:40:33
    #38080672
dexsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring mvc & spring security
Basil A. Sidorov,

сделал проще:

Код: javascript
1.
2.
3.
4.
if (undefined !== window.load_normal) {
	window.location = "index.html";
}
window.load_normal = true;



если переменная load_normal уже определена - значит мы загрузили форму внутри окна. делаем переадрусацию на index.
пока работает нормально :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / spring mvc & spring security / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]