ASP.NET MVC 4 и утечка безопасности сеанса
Вместо использования ASP.NET MVC User 'система, япросто используя сессию, как показано ниже:
Когда он входит в систему (имя пользователя + пароль), я выбираю соответствующего пользователя из базы данных и устанавливаю:
Session["UserId"] = fetchedUser.UserId;
Затем я'Я всегда проверяю, вошел ли он в систему:
if (Session["UserId"] != null && ...)
Проблема заключается в том, что если кто-то скопирует значение ASP.NET_SessionId из вошедшего в систему пользователя (например:пользователь идет в ванную, и коллега, который сидит рядом с ним, проверяет свои куки с инспектором хрома), тогда он сможет создать cookie на своем компьютере и действовать от имени этого пользователя.
Мои вопросы:
Почему сеансы безопаснее, чем куки, если идентификатор сессии сохраняется в куки?Могу ли я сделать это безопаснее (и продолжать использовать сессию)?Как внутренняя система аутентификации пользователей ASP.NET делает это?