Я хотел бы знать, безопасно ли использовать аутентификацию на основе сеансов в целях безопасности.
Это будет зависеть от того, как вы это реализовали, но если вы сохраняете текущее имя пользователя в сеансе, вы должны быть в безопасности.
Когда количество пользователей увеличивается, слишком ли много сеансов замедляют производительность.
Если вы используете провайдер сеансов In-Memory, это будет означать, что вы будете хранить в памяти вашего веб-сервера всю информацию о текущих пользователях, вошедших в систему. Кроме того, если домен приложения перезапустится, вы потеряете всю информацию о сеансе, и, таким образом, все вошедшие в систему пользователи будут автоматически выведены из системы, что не очень хорошо. Это не масштабируемое решение. Возможно, вы захотите использовать поставщика сеанса вне процесса, если когда-нибудь решите пойти по этому пути.
Если ничего не получится, я перевожу аутентификацию на основе сеанса в Аутентификацию по формам. Какой безопасный способ миграции?
Просто удалите весь код, который зависит от сеанса, и замените его, используя User.Identity.Name
, чтобы выбрать текущего зарегистрированного пользователя. Вот хороший обзор аутентификации на основе форм . Это рекомендуемый подход для обработки аутентификации в приложениях ASP.NET.