В предыдущих трёх лабораторных работах в проект GameStore была добавлена поддержка администрирования с помощью создания контроллера AdminController. При этом, если перейти по URL Admin/Index, то любой пользователь будет иметь возможность осуществлять администрирование сайта, что в корне является неправильным.
В данной лабораторной работе №12 организовывается защищённый паролем доступ ко всему контроллеру AdminController. Для решения этой задачи создаётся новый контроллер AccountController и две версии метода действия Login(). Первая версия - с представлением, которое содержит запрос на вход; вторая - обработка запроса POST, когда пользователь отправит свои учетные данные. При этом, для хранения логина и пароля в проекте создаётся новый класс LoginViewModel.cs, к свойсвам которого применяется атрибут Required для использования проверки достоверности на стороне клиента.