Где выполнить инициализацию контроллера, основанную на аутентификации пользователя - PullRequest
0 голосов
/ 08 августа 2011

Я нашел ошибку в нашем приложении, вызванную истечением срока действия билета аутентификации пользователя.

Контроллер имеет атрибут Authorize, но мы выполняли некоторую инициализацию переменных в конструкторе контроллера, который основывался на аутентификации пользователя.

Так, где было бы лучшее место, чтобы переместить этот код инициализации так, чтобы он не выполнялся, если пользователь не аутентифицирован (и, следовательно, они будут перенаправлены на страницу входа)? OnAuthorization

1 Ответ

1 голос
/ 08 августа 2011

Так, где было бы лучше всего переместить этот код инициализации в такое состояние, чтобы он не выполнялся, если пользователь не аутентифицирован

Вы можете написать пользовательский AuthorizeAttribute и выполнитьэто внутри метода AuthorizeCore (после вызова базового метода и обеспечения возврата true).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...