ASP.NET MVC 4 и утечка безопасности сеанса

Вместо использования ASP.NET MVC User 'система, япросто используя сессию, как показано ниже:

Когда он входит в систему (имя пользователя + пароль), я выбираю соответствующего пользователя из базы данных и устанавливаю:

Session["UserId"] = fetchedUser.UserId;

Затем я'Я всегда проверяю, вошел ли он в систему:

if (Session["UserId"] != null && ...)

Проблема заключается в том, что если кто-то скопирует значение ASP.NET_SessionId из вошедшего в систему пользователя (например:пользователь идет в ванную, и коллега, который сидит рядом с ним, проверяет свои куки с инспектором хрома), тогда он сможет создать cookie на своем компьютере и действовать от имени этого пользователя.

Мои вопросы:

Почему сеансы безопаснее, чем куки, если идентификатор сессии сохраняется в куки?Могу ли я сделать это безопаснее (и продолжать использовать сессию)?Как внутренняя система аутентификации пользователей ASP.NET делает это?

Ответы на вопрос(1)

Ваш ответ на вопрос