asp.net MVC войти в параметры архитектуры - PullRequest
2 голосов
/ 19 июля 2010

Я пишу сайт asp.net mvc c #, который не будет использовать сессии ... Какие у меня есть варианты для доступа к функциям входа без сеансов?

Ответы [ 3 ]

1 голос
/ 19 июля 2010

System.Web.Security.FormsAuthentication использует куки:

FormsAuthentication.SetAuthCookie(userName, rememberMe);

Сессия там не используется. Конечно, если вы хотите больше, чем имя пользователя и isAuthenticated, вам понадобится другой способ сохранить это состояние. Ваши единственные реальные альтернативы - это куки или URL, ни один из которых не является приемлемым по другим причинам.

Сеанс не является злом, особенно если учесть ваши варианты размещения данных сеанса на общем сервере или в экземпляре SQL Server.

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

Если вам необходимо полностью отказаться от сеанса, вам придется либо воссоздавать состояние при каждом вызове, как правило, дорогое предложение, либо вам придется создавать собственный механизм хранения состояний, который возвращает нас к стандартным альтернативам хранения сеансов ASP.NET .

1 голос
/ 19 июля 2010

У вас есть 3 варианта проверки подлинности HTTP-запросов.

1) Только файлы cookie, где вы устанавливаете файлы cookie на компьютере пользователя с необходимой информацией, которая необходима для их идентификации.их следующий запрос

2) Сессии.Сеанс обычно также использует файлы cookie (для хранения информации о сеансе), но не обязан (см. http://msdn.microsoft.com/en-us/library/aa479314.aspx)

3) аутентификацию без сохранения состояния.Это действительно используется только для не браузерных HTTP-клиентов, вызывающих веб-сервисы.Это включает клиента, подписывающего запрос http комбинацией открытого / закрытого ключа, которую сервер может затем аутентифицировать.Примером протокола HTTP-аутентификации без сохранения состояния является OAuth (хотя OAuth как спецификация действительно ориентирована на авторизацию, но авторизация по своей природе требует аутентификации).

См. Состояние веб-аутентификации - Сеанс против Cookie против? для дополнительного обсуждения файлов cookie и сессий.

0 голосов
/ 19 июля 2010

Общий подход заключается в использовании куки.См. Защита и приложение ASP.NET MVC .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...