powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблемы с формс-аутентификацией
6 сообщений из 6, страница 1 из 1
Проблемы с формс-аутентификацией
    #37471808
GooleBoom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема возникла внезапно.
Есть проект, работает на хостинге около года, активно развивается, но, понятно, что не методы аутентификации - как был с рождения формс, так и остался.

Однако не далее как позавчера днем (в это время 100% никто не правил никаких конфигов) каждый залогиненый пользователь вдруг увидел что работает под чужим именем, причем все под одним и тем же. Это видно сразу, т.к. меняется набор меню и т.д. и к тому же имя пользователя крупно в углу написано (я поначалу надеялся что просто оно неверно рисуется, но не подтвердилось :( )

Пока вскипали мозги и пытались разобраться что к чему - проблема так же внезапно сама исчезла (минут 5 прошло).

Пересмотрели все логи, но ничего подозрительного не нашли. Забили, решили ждать и смотреть.

Прошло 2 дня - опять то же самое, правда пользователь другой. Пока опять пытались решить что делать - позвонил клиент и злобно ругался в трубку. Рестартовали ИИС, проблема исчезла.

Клиент в ярости (конфиденциальная информация может утечь, проект интранетовский). Мы в шоке и раздумьях.
Нашли слегка похожее http://stackoverflow.com/questions/263607/image-caching-httphandler-and-formsauthentication но не совсем то..

Ждем следующего раза.

Конфигурация: Виртуальная винда WinSrv2008EnterpriseEng, MSSQL2008R2, .NET FW4, MVC2, формс аутентификация, кеширование на уровне ASP не используется. Включено Output Caching в IIS для .js файлов и .css стилей

Может у уважаемых есть идеи куда копать?
...
Рейтинг: 0 / 0
Проблемы с формс-аутентификацией
    #37471836
GoogleBoom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добавка

Эксперимент делали: видим что юзер другой, делаем логаут, снова логин
Логинится нормально, видим свое имя. Тыкаемся в любую страницу - опять все слетает, пользователь тот же самый что и был в прошлый раз.

Успели заметить что сразу после логина и после перехода на другую страницу кука .ASPAUTH приходит другая. Хотя в коде мы ее вообще нигде не трогаем, это точно.

И еще - странности. Врядли помогут но все таки.

1. Если работать в ФФ то проблемы нет. Подвержен только эксплорер похоже. Хотя см.п.2
2. Даже на ИЕ воспроизводилась не сразу, к примеру мне пришлось нажать CTRL-F5 и после этого юзер сменился. До того я нормально ходил под своим именем.

Можно на кеш браузера свалить, конечно, но страницы сильно разные и я бы точно заметил что они не обновляются или не с моими данными.
...
Рейтинг: 0 / 0
Проблемы с формс-аутентификацией
    #37471883
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мало инфы. Может какой Single sign-on юзаете при across multiple application. Или еще чего. Исходники там...
...
Рейтинг: 0 / 0
Проблемы с формс-аутентификацией
    #37472089
GoogleBoom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обычное веб-приложение
написан свой role provider, который роли достает из базы, это пожалуй все что особенного в нем
в зависимости от роли рисуется разный набор элементов меню

ну а там обычные ASPX страницы (ну с учетом модели MVC)

я даже не знаю что еще рассказать, говорю - мозги кипят, идей ровно ноль в какую сторону копать.

а исходники чего? модуля авторизации? так там все по шаблону сделано

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
        public ActionResult LogOnControl()
        {
            return PartialView("LogOnUserControl"
                , _userRepository.GetUser(User.Identity.Name));
        }

        [HttpGet]
        public ActionResult LogOn(string login)
        {
            var logonData = new UserLogOnData { Login = login, Password = null };
            
            return View("LogOn", logonData);
        }

        [HttpPost]
        public ActionResult LogOn(UserLogOnData logonData)
        {
            var validated = _userRepository.Validate(logonData.Login, logonData.Password);

            if (!validated)
            {
                ModelState.AddModelError("", "Неверный логин или пароль.");

                return View("LogOn", logonData);
            }
            else
            {
                var user = _userRepository.GetUser(logonData.Login);

                FormsAuthentication.SetAuthCookie(logonData.Login, logonData.Remember);

                return RedirectToAction("Index", "Home");
            }
        }

        public ActionResult LogOff()
        {
            FormsAuthentication.SignOut();

            return RedirectToAction("Index", "Home");
        }
...
Рейтинг: 0 / 0
Проблемы с формс-аутентификацией
    #37472125
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoogleBoomя даже не знаю что еще рассказать, говорю - мозги кипят, идей ровно ноль в какую сторону копать.
Я думаю, нужно копать тут:
GoogleBoomнаписан свой role provider, который роли достает из базы
А так: сложно что-то вменяемое сказать по проблеме, тем более Вы сами не можете наиграть ошибку при наличии исходников решения.
...
Рейтинг: 0 / 0
Проблемы с формс-аутентификацией
    #37472130
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте еще раз свой роле провайдер, возможно где есть статика (статические методы) и при интенсивной работе с приложением один юзер отхватывает значения статики, инициализированное другим юзером. Может где Application так же юзается. Не мешало бы провести тестирование приложения под нагрузкой.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблемы с формс-аутентификацией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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