![]() |
|
Модераторы: gambit |
![]()
|
|
| Bonus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
Проблема в следущем:
Я написал провайдер ролей, который конектится к SQL Server в методе GetRolesForUser(string username), но пароль для строки подключения хранится в Session. К сессии пытаюсь получить доступ так: HttpContext.Current.Session["userPass"] но в этом методе Session почему-то возвращает null, хотя перед этим я добавляю в Session значение "userPass" на странице login.aspx: Session.Add("userPass", "pass"); |
|||
|
||||
| Bonus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
up
|
|||
|
||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: 1 Всего: 4 |
Нужно проверить настройки сессии в вебконфиге (секция sessionState). Если ее у тебя там нету, значит дело не в настройках, потому что по дефолту все должно работать. Возможно это баг ASP.NET Development Server, если ты его используешь.
|
|||
|
||||
| Bonus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
нет, в настройках такого нет. работаю через IIS.
Ставлю бряку на Session.Add("userPass", "pass"); Session показывает что в ней что-то есть, но как только доходит до выполнения метода GetRolesForUser(string username), то Session становится null. из-за чего такое может быть? |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
дело в том, что при аутентификации юзера Session еще не сформировано.
Последовательность событий приложения: 1. BeginRequest (Application_Start) 2. AuthenticateRequest (здесь работает твой провайдер) ... 3. AcquireRequestState (вот после этого Session и Application доступны) в ту же тему попробуй хранить инфу в кеше... -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Bonus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
так ведь кеш глобальный, а мне надо хранить пароль каждого юзера отдельно.
|
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
а что мешает добавлять в кеш "пароль юзера" под ключом "имя юзера"? Это же словарь имя-значение.
Вот и будет для каждого ключа (юзера) свое значение (пароль) -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Bonus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 4.10.2006 Репутация: нет Всего: нет |
Сработало.
Спасибо tol05. Но вообще странно, ведь сначала в Session ДОБАВЛЯЮТСЯ данные, затем когда вызывается метод GetRolesForUser, Session возвращает null, а потом (вне этого метода) в Session опять появляются мои данные... Мистика... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |