я вопрос, касающийся обработки входа пользователя при переносе приложения на MVC:ASP MVC против WebForms: с помощью SessionState для входа пользователя
в «старых» WebForm дней, разработчики просто использовали Объект SessionState, чтобы установить пользователя для входа в систему, например, просто помещая пользовательский объект в SessionState (и этот пользовательский объект содержит простые свойства, такие как name/lastlogon/etc.)
этот материал очень хорошо работал для нас , и я видел множество приложений, которые делают это таким образом
да, я знаю, что это MembershipProvide-штучка, но я никогда не использовал его
Теперь, в MVC, все говорят мне, что «с помощью SessionStat для это плохо» и «приложения построены, что путь несовершенны в дизайне »и что« существует множество угроз безопасности »и т. д.
Я использовал этот метод, потому что он работал для приложения очень надежно, он был прост в реализации и охватывал все, что нам нужно.
(Конечно, есть вещь с процессом веб-рециркуляция рабочего и опорожнение сеанс - но это еще не проблема, в нашем случае, так как приложение работает для каждой страны на выделенной машине)
Я прочитал учебники, рассказывающие мне, чтобы они помещали этот материал в БД и -встречу - выполняли запрос в БД, чтобы проверить, зарегистрирован ли пользователь, за EACH запрос? Но: ни при каких обстоятельствах это не выполнимо, так как я хочу, чтобы запросы БД были минимальными.
Так что мой вопрос:
A), что не так с использованием так и в новом приложении MVC?
B) Каков наилучший способ справиться с этим сценарием в недавно созданном приложении MVC?
Что касается идеи session-in-DB: вместо этого я установил бы дополнительную службу, например «диспетчер сеансов», который получает запрос по сети, но такие простые запросы не должны БД - это не хорошая идея?
Любая идея, подсказка/etc. высоко ценится, так как этот сценарий действительно смущает меня: -X
Используйте [Членство] (http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx) и Forms/Windows Authentication в любых веб-формах или приложении MVC. Это официальный MS рекомендованный способ обработки пользователей и аутентификации. – jrummell
Пользователь получит дополнительный файл cookie, не так ли? Во-вторых: Где и как он хранит материал, а также что он делает, если мне нужно, чтобы пользовательский объект мог переносить больше объектов в будущем? – johngrinder
Что касается членства-провайдера «полезность»: в этом SO-потоке http://stackoverflow.com/questions/440568/why-should-i-use-asp-net-membership-security-model/ один из самих MS-разработчиков сказал, что «мало пользы от включенного контроля»? – johngrinder