Asp.net Mvc - нужна помощь в понимании того, как отображать содержимое заголовка, когда пользователь аутентифицирован / не аутентифицирован - PullRequest
1 голос
/ 23 марта 2012

Я использую asp.net MVC 4.

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

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

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

Используя веб-формы asp.net, я мог создать пользовательский элемент управления для представления функциональности нижних разделов.

Появляется в asp.net mvc. Я могу использовать частичные представления и затем вызывать RenderAction, что позволит вызывать действие контроллера при рендеринге нижней части.

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

Это лучший подход? Мне не нужен ajax для моей нижней части.

Спасибо

Ответы [ 2 ]

3 голосов
/ 06 июня 2012

Это зависит от сложности вашего нижнего раздела.Если логики не так много, вы можете поместить проверенный и не прошедший проверку подлинности HTML-код в одно частичное представление.Если они совершенно разные, используйте два отдельных частичных представления.Кроме того, просто вставьте секцию кнопок на свою главную страницу, что также является обычной практикой, здесь нет никаких отличий.

Если вы используете среду аутентификации .net mvc (которая должна быть лучшей практикой), вы можете просто использовать1003 * User.Identity.IsAuthenticated в вашем действии.На странице просмотра это Page.User.Identity.IsAuthenticated .Он может проверить, вошел ли текущий пользователь в систему.

1 голос
/ 06 июня 2012

Есть несколько способов, и все зависит от того, какой механизм авторизации вы используете.Общее правило заключается в том, что вы запрашиваете (псевдокод здесь) @if (IsAuthenticated (currentUser) {bla bla}, иначе не прошедшее проверку подлинности содержимое

Посмотрите на этот проект с примером и документацией http://nerddinnerbook.s3.amazonaws.com/Intro.htm

Он проведет вас через то, что вы пытаетесь достичь.

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