Я бы добавил атрибут, чтобы проверить, что пользователь вошел в систему для этого примера.Вы вообще не хотите, чтобы действие было доступно для неаутентифицированных пользователей, поэтому нет необходимости управлять этим в вашем теле самого действия.Вы можете использовать Authorize
, чтобы сделать это, но не в той форме, в которой вы его используете.
Проверьте и этот вопрос: Используется ли атрибут Authorize в ASP .NET MVC для аутентификации и авторизации?
Если вы хотите создать собственный атрибут,который я бы порекомендовал, а затем создайте новый ActionFilterAttribute
public class RequireLoggedIn : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext) {
if (Membership.GetUser() == null) {
filterContext.Result = new RedirectResult("~/Logon");
}
}
}
Затем вы можете украсить любое из ваших Действий этим во всем приложении.Simples:)