ASP.Net MVC 3, как перенаправить почти всю страницу в одно действие - PullRequest
1 голос
/ 07 марта 2012

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

У меня есть логический атрибут "IsCompleted" в его профиле, поэтому у меня нет проблем, чтобы узнатьесли пользователь должен закончить свою надпись или нет.

Но как я могу создать что-то, что проверяет на всех страницах, что пользователь должен быть аутентифицирован, что пользователь должен быть завершен?

Я думал создать собственный AuthorizeAttribute (на самом деле у меня уже есть один пользовательский, который проверяет некоторые роли), но я не знаю, является ли это подходящим местом для создания такого рода элементов управления, и как я могу различить в HandleUnauthorizedRequest если запрос был отклонен из-за того, что логин был неверным или пользователь не заполнил его информацию?

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Вы можете либо:

a) Поместить их в «ограниченную» роль, пока они не войдут в их профиль, и позволить базовому коду авторизации обработать его, затем добавить их в «полную» роль при входе вдетали.

b) Переопределите метод OnActionExecuting в ваших контроллерах (или, что лучше, на используемом вами базовом контроллере), чтобы проверить, вошел ли пользователь в свой профиль, перед обработкой остальных действий.

0 голосов
/ 07 марта 2012

ЕСЛИ Я понял, что вы имеете в виду, тогда у вас есть это, просто используйте стандартный метод аутентификации.Не забывайте, что вы можете использовать группы и роли, поэтому, даже если пользователь аутентифицирован, его можно исключить из некоторых страниц.

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