2015-05-03 5 views
0

Я работаю над проектом ASP.net MVC. В этом проекте персональная информация пользователей имеет решающее значение, поэтому мы не хотим, чтобы пользователь видел свою панель после его первого входа в систему, если он не завершил свое резюме и личную информацию точно так же, как пользователи Facebook после регистрации впервые.Как перенаправить пользователя на страницу аккаунта, пока он не заполнит свою личную информацию в ASP.net MVC

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

У кого-нибудь есть хорошая идея или предложение для меня? я был бы очень признателен за любое руководство.

ответ

0

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

Как только у вас есть фильтр действий, вы можете зарегистрировать его по всему миру, так что все запросы отправляются через него или на контроллеры/действия, которые вы хотите защитить.

Хороший пример http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs