powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
38 сообщений из 38, показаны все 2 страниц
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39155762
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

С некоторого времени заметил, что стала часто слетать авторизация.

Т.е. пользователь открывает сайт, логинится, после этого открывает свой личный кабинет, начинает там работать.
И через пару кликов авторизация почему-то слетает, и чтобы зайти в личный кабинет, надо снова логиниться.

Подскажите, в какую сторону копать?

Авторизация - стандартная, на Identity 2.0, ASP.NET MVC 5.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39155784
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glass, может, по таймауту вываливается просто? Или таймаут не слайдинговый (не зависит от времени обращений пользователя к серверу)?
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39155786
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю еще немного подробностей, чтобы пролить больше света :)

У меня сайт на ASP.NET MVC.
Но в папку blog я поставил WordPress, в роутинге настроил исключение для этой папки и всех подпапок.
В результате у меня по адресу /blog - крутится блог на PHP.
А в нем на главной странице я тяну имя пользователя через JSON-обращение к сайту на ASP. Выглядит это примерно так:

На ASP:


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public JsonResult GetUserData()
		{
			if(Request.IsAuthenticated)
			{
				int compareCount = CommonInfo.GetCompareCount(User.Identity.GetUserId());
				string userShortName = AppUser.GetShortNameById(User.Identity.GetUserId());
				return Json( new {
								user = User.Identity.GetUserName().ToUpper(),
								shortName = userShortName,
								compareCount = compareCount
								}, 
								JsonRequestBehavior.AllowGet);
            }
			else
			{
				return Json(new {
								user = "none",
								shortName = "none",
								compareCount = 0
								}, 
								JsonRequestBehavior.AllowGet);
			}
		}



На JS:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
$.getJSON('http://***.ru/Home/GetUserData', { type: 0 }, function(data) {
	if(data.user=="none") {
		$('#rightTopMenu').html('<li><a href="http://***.ru.ru/login">ВХОД</a></li><li><button class="btn btn-success navbar-   btn" style="margin-right:10px;font-size:110%;" onclick="javascript:goToRegister();">РЕГИСТРАЦИЯ</button></li>');
} 
else 
{
					jQuery('#rightTopMenu').html('<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">&nbsp;' + data.user + ' <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="http://***.ru/users/' + data.shortName + '">Профиль для друзей</a></li><li class="divider"></li>	<li><a href="http://***.ru/Manage/ChangePassword">Сменить пароль</a></li><li><a href="http://***.ru/Account/LogOff">Выход</a></li></ul></li>');
				}
			});




И авторизация слетает, похоже, именно из-за этого. Иногда имя отображается, а иногда слетает авторизация.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39155789
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronGlass, может, по таймауту вываливается просто? Или таймаут не слайдинговый (не зависит от времени обращений пользователя к серверу)?

Раньше сутками не вылезало, сейчас постоянно надо логиниться.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39156182
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glass,

От хост-провайдера может зависеть. Например на паркинге надо отключать автогенерацию machineKey . Иначе сброс сессии вместе со сбросом пула происходит.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157628
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,

Сделал, но не помогло. Все так же продолжает слетать. В одном и том же окне. Походишь по ссылкам, и с какого-то раза авторизация слетает - иногда с первого, иногда с десятого. Странно. В момент, когда авторизация слетает, ответ от сервера намного дольше обычного.

:-(
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157675
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще немного поэкспериментировал. Убрал весь джаваскрипт с блога, который брал данные с основного сайта на MVC. Не помогает.
Вылетает, и все.
Может быть, надо эту же процедуру еще и для приложения на PHP сделать (Wordpress'а) - тоже где-нибудь на IIS прописать Machine Key? Только где?
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157682
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassЕще немного поэкспериментировал. Убрал весь джаваскрипт с блога, который брал данные с основного сайта на MVC. Не помогает.
Вылетает, и все.
Может быть, надо эту же процедуру еще и для приложения на PHP сделать (Wordpress'а) - тоже где-нибудь на IIS прописать Machine Key? Только где?
авторизация работает ведь через куки?
чисто теоретически куки могут садится, меняться и удалятся и в одном приложении и в другом приложении...
еще может домен меняется, а вы не замечаете...
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157688
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria,

домен у меня один, вордпресс установлен внутри домена в папке /blog.
Куки - надо проверять, конечно. Неужто вордпресс удаляет куки, сволочь.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157726
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наблюдаю - куки у них разные, не удаляются вроде бы.
Судя по тому, что блог при открытии (когда я авторизован) подтормаживает - т.е. в этот момент что-то и происходит, только не понимаю, что. После этого меня из авторизации выкидывает.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157729
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassZoria,

домен у меня один, вордпресс установлен внутри домена в папке /blog.
Куки - надо проверять, конечно. Неужто вордпресс удаляет куки, сволочь.
там не только имя домена важно, но и путь, где садятся куксы
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157733
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassНаблюдаю - куки у них разные, не удаляются вроде бы.
Судя по тому, что блог при открытии (когда я авторизован) подтормаживает - т.е. в этот момент что-то и происходит, только не понимаю, что. После этого меня из авторизации выкидывает.
Проверьте пропадает ли после этого авторизационная кука.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157734
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronПроверьте пропадает ли после этого аутентификационная кука.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157743
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronAxeleronПроверьте пропадает ли после этого аутентификационная кука.

Нет, не пропадает, остается. А из авторизации выбивает.
По-моему, тут другой механизм работает.

Вот эти куки:
.AspNet.ApplicationCookie
__RequestVerificationToken
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157750
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassНет, не пропадает, остается. А из авторизации выбивает.
Такого не бывает. Аутентификация бывает с куки или без куки. Или кукилесс сессия у тебя?

GlassВот эти куки:
.AspNet.ApplicationCookie
__RequestVerificationToken
Эти или те... Залогинься и проверь какая кука только что создана. И проследи что с ней происходит когда перестает работать.

Кстати, почему проверка на if (Request.IsAuthenticated), а не if(User.IsAuthenticated)?
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39157756
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassМожет быть, надо эту же процедуру еще и для приложения на PHP сделать (Wordpress'а) - тоже где-нибудь на IIS прописать Machine Key? Только где?
MachineKey тут совсем не при чем, он используется для удержания сессии на load-balanced серверах.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158128
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЭти или те... Залогинься и проверь какая кука только что создана. И проследи что с ней происходит когда перестает работать.


После логина в систему создается кука AspNet.ApplicationCookie, со значением, например, _EDFJ9O9lg_dLLJbtrdujWh3IeFyVWb4t9TaXLLAdoJd9_gEvuWrx7om1QbJVYKGTcyUuh...

Если эту куку удалить, то из личного кабинета выкидывает на лэндинг.

Потом перехожу по ссылке /blog, там делаю пару кликов, потом перехожу обратно на главный домен, и меня выкидывает на лэндинг.
Кука никуда не девается, висит с тем же значением :-(


AxeleronКстати, почему проверка на if (Request.IsAuthenticated), а не if(User.IsAuthenticated)?

Делал по примерам, сейчас пороюсь на эту тему, в чем отличие.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158136
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron
Кстати, почему проверка на if (Request.IsAuthenticated), а не if(User.IsAuthenticated)?

Для проверки заменил везде по коду на User.Identity.IsAuthenticated, не помогло. То же самое. Кука остается, а из авторизации выкидывает.
Причем перед тем, как выкинуть, запрос к серверу проходит намного дольше обычного.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158403
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassAxeleronКстати, почему проверка на if (Request.IsAuthenticated), а не if(User.IsAuthenticated)?

Для проверки заменил везде по коду на User.Identity.IsAuthenticated, не помогло. То же самое. Кука остается, а из авторизации выкидывает.
Причем перед тем, как выкинуть, запрос к серверу проходит намного дольше обычного.
Мистика.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158433
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron Мистика.

Могу дать ссылку на мистику
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158449
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее, чего таить.

http://%5Dhttp//legoshake.ru%5B/url] - это сайт

и

http://legoshake.ru/blog - это блог на PHP Wordpress)
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158453
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, что-то форматирование слетело.

Сайт на ASP: legoshake.ru
Блог: legoshake.ru/blog
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158610
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, дело в том, что при кука протухает при переходе на блог.
Возможно, из-за того, что Wordpress отдает другие куки, а эту (асп-шную) не отдает.
Точный момент протухания пока не могу отловить, ковыряясь в HTTP Headers.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158710
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassСкорее всего, дело в том, что при кука протухает при переходе на блог.
Возможно, из-за того, что Wordpress отдает другие куки, а эту (асп-шную) не отдает.
Точный момент протухания пока не могу отловить, ковыряясь в HTTP Headers.
дайте логин что-ли ненужный поглядеть, или могу левое мыло задать? :)
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158715
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassСкорее всего, дело в том, что при кука протухает при переходе на блог.
Возможно, из-за того, что Wordpress отдает другие куки, а эту (асп-шную) не отдает.
Точный момент протухания пока не могу отловить, ковыряясь в HTTP Headers.
Кука не протухает, если на месте и с тем же значением. Что-то в механизме аутентификации зарыто. Возможность сессия старая убивается, а на место старой создается новая при открытии blog. А аутентификационная кука создается на основании первой открытой сессии. Соответственно, значение в куки не меняется, а аутентификация не распознает более старый токен, ожидая, что токен должен быть уже на основании новой сессии. Это предположение только, потому что мне кажется, что токен в куки в данном случае не должен привязываться к сессии как это делается при создании AntiForgery куки.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158764
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glass,

ты папку в wordpress сделай application и ему укажи другой пул приложений
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158961
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaGlassСкорее всего, дело в том, что при кука протухает при переходе на блог.
Возможно, из-за того, что Wordpress отдает другие куки, а эту (асп-шную) не отдает.
Точный момент протухания пока не могу отловить, ковыряясь в HTTP Headers.
дайте логин что-ли ненужный поглядеть, или могу левое мыло задать? :)

Можно левое мыло, не страшно :)
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39158965
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monstrUGlass,

ты папку в wordpress сделай application и ему укажи другой пул приложений

Извини, не понял :) Где сделать папку и где задать пул приложений?

P.S. Вопрос не праздный, потому что виртуальный хостинг. для основного сайта у меня есть доступ к IIS Manager, а для Вордпресса пока не могу найти
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39159865
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема так и не решилась, даже переездом блога на поддомен - blog.*.ru
Все равно авторизация отваливается после клика на ссылке блога. Увы.
Наверное, это связано с тем, что оба приложения (и блог, и основной сайт) работают в одном Application Pool'е...
На виртуальном хостинге - так.
Надо VPS брать, видимо :(
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39162166
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, но все даже хуже.
Авторизация просто - слетает через несколько кликов. Блог и приложение на PHP ни при чем.

Просто вылетает, и все.
Обновил все библиотеки проекта до последних версий через Nuget, не помогло :((

Перезапускал пул приложений - тоже не помогло

Кука - не меняется :)

Ни у кого нет мыслей, куда еще можно копать?
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39162734
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, я сам разобрался, оставлю здесь решение, авось кому-то пригодится.
В основном, виной всему моя невнимательность и незнание некоторых вещей:

1. Я прописывал на сайте абсолютные ссылки - в блоге и даже в основном приложении для перехода на блог, а надо было относительные. Это основная причина.

2. в Web.Config у меня стояло почему-то <authentication mode="None">. Поменял на Forms, прописал атрибуты:

Код: xml
1.
2.
3.
4.
5.
6.
7.
<forms name = ".ASPLS"
 loginUrl="/login"
 requireSSL="false"
 path ="/"
 protection="All"
 slidingExpiration="true"
 />


Это, кстати, само по себе не помогло, без п.1.

3. Прописал атрибуты [AllowAnonymous], [Authorized] везде по коду контроллеров.

После этого остался еще один кусок кода, который все равно приводит к выкидыванию из авторизации, вроде бы банальный. Пока закомментировал, буду с ним разбираться отдельно.
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39162768
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glass,

хорошо, что сдвинулись.
про неправильные настройки я даже не начала думать, потому что приняла исходное утверждение, "что работало работало и вдруг перестало" :)
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39162952
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ненадолго я сдвинулся, снова те же грабли.
Но нашел еще одну дыру. Проект у меня собран под .NET Framework 4.5

Нагуглил статью, где описывается про изменения в модели аутентификации, начиная с 4.5.1:
http://brockallen.com/2013/10/24/a-primer-on-owin-cookie-authentication-middleware-for-the-asp-net-developer/

Но на хостинге моем только 4.5
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39166185
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, всем спасибо, заработало.
Дело все-таки оказалось в том, что надо прописать MachineKey. Это же вирт. хостинг, соответственно, Web Farm.
Только не в настройках IIS (так почему-то не получилось), а в Web.Config.

Ура :)
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39166530
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glass, а разве выше где было указано, что это web farm?
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39166570
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronGlass, а разве выше где было указано, что это web farm?

как в том анекдоте..так бы сразу и сказали...
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39166703
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaAxeleronGlass, а разве выше где было указано, что это web farm?

как в том анекдоте..так бы сразу и сказали...


Скажем так, в начале топика я вообще не знал, что такое Web Farm :)

Простите меня, люди!!!
...
Рейтинг: 0 / 0
ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
    #39166718
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassСкажем так, в начале топика я вообще не знал, что такое Web Farm :)

Простите меня, люди!!!
Простим, если пообещаешь почитать про то, что такое Web Farm и Web Garden :)
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC При работе с сайтом часто слетает авторизация (Identity 2.0)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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