HTML Ссылка с заголовком? - PullRequest
1 голос
/ 18 июня 2019

каждый

Я новичок в интерфейсе и .net MVC.Недавно я пытаюсь разработать систему входа на веб-сайт и сталкиваюсь с некоторой проблемой при разработке ссылок на другую страницу.

Например, у меня есть две страницы, A и B. A имеет ссылку, по которой можно перейти наB. Однако, поскольку я должен ограничить доступ, я установил аутентификацию в контроллере B.вот так.

[Authorization]
public class BController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

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

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

<h2>@Html.ActionLink("B page", "Index", "B")</h2>

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

У кого-нибудь есть подобный опыт?

спасибо миллион раз.

1 Ответ

0 голосов
/ 18 июня 2019

Гиперссылка, созданная с помощью ActionLink или чистого HTML-тега привязки, выполнит запрос GET. Get запрос не будет иметь никакого отношения к HTML, который вы пишете. Это просто URL со строками запроса. Вот и все, что имеет значение для перехода на страницу.

Возвращаясь к вашему фильтру авторизации, если пользователи еще не прошли аутентификацию на странице A и если они нажимают на ссылку на страницу B, их следует отправить на страницу входа с параметром ReturnUrl. После успешного входа они должны быть перенаправлены на ReturnUrl (в вашем случае это будет страница B).

С другой стороны, если пользователи уже вошли в систему, инфраструктура MVC Asp.net оценит это и позволит пользователям перейти на страницу B со страницы A.

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

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