Доступ к данным в asp.net атрибут

#asp.net #custom-attributes

#asp.net #пользовательские атрибуты

Вопрос:

Нашему веб-приложению-решению требуется средство предотвращения входа в систему, которое дает пользователю 10 секунд штрафа (в случае, если он не может войти в систему) после трех неправильных входов в систему.

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

Если число превышает установленный предел (по умолчанию 3), атрибут ToggleAttribute перенаправит пользователя обратно на страницу входа с 10-секундным штрафом.

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

Я хотел бы найти способ сбросить счетчик внутри атрибута с нашего контроллера входа в систему, если проверка пароля прошла успешно. Могу ли я получить доступ к данным в атрибуте из контроллера?

Ответ №1:

Проблема была решена путем помещения данных счетчика в кэш, к которому также можно получить доступ за пределами атрибута. При этом контроллер входа в систему может сбросить счетчик. Это не идеальное решение, но оно работает до тех пор, пока мы не внедрим решение для авторизации в дальнейшем.