2010-07-26 1 views
0

У меня есть реализация, похожее на это: Better way of doing strongly-typed ASP.NET MVC sessionsЗапоминание ASP.NET MVC 2 сеанса данные о входе в систему

для быстрого доступа к наиболее часто необходимые пользовательские данные ... но у меня есть два вопроса:

1) будет ли когда-нибудь время входа пользователя в систему, но сеанс будет недействительным или сброшен? Я всегда думал, что до тех пор, пока пользователь будет подписан, их сеанс действителен ...

2) Я хочу заполнить данные, когда пользователь входит в систему, но я не знаю, как получить доступ к этим данным на авторизоваться. в AccountController есть метод LogOn, но хотя есть метод FormsService.SignIn, я не вижу, где он фактически подписывается на пользователя, потому что Memberhip.GetUser() возвращает значение null до тех пор, пока ПОСЛЕ перенаправления страницы ...

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

Что вы думаете?

ответ

1
  1. Существует различие между сеансом и аутентификацией. Сессия доступна во всем приложении, даже если пользователь не. Подключено.
  2. В шаблоне проекта ASP.NET MVC 2.0 по умолчанию вы можете заполнить данные сеанса сразу после вызова FormsService.SignIn. Здесь подтверждены учетные данные пользователя, и в ответ будет записан файл cookie проверки подлинности. Вы можете использовать предоставленное имя пользователя для получения любой информации пользователя из базы данных, если вам нужно.
+0

спасибо, это имеет смысл – SelAromDotNet

+0

Хотя, если сеанс каким-то образом разрушен (например, файл web.config изменен), пользователь останется в системе, но данные сеанса, которые вы сохранили в SignIn, исчезнут. Если бы был лучший подход к тому, чтобы какой-либо сервис/класс пытался извлечь из данных сеанса, если это возможно, но, если он не может, возвращается обратно в базу данных и восстанавливает данные в данные сеанса? –

 Смежные вопросы

  • Нет связанных вопросов^_^