Может ли пользователь щелкнуть гиперссылку для входа? - PullRequest
0 голосов
/ 24 мая 2019

Я могу выйти из моего приложения MVC Core следующим образом:

public IActionResult Logout()
{
    return SignOut("Cookies", "oidc");
}

Идентификационный сервер вызван и пользователь вышел из системы, как и ожидалось.Можно ли войти в систему, указав ссылку?Я понимаю, что пользователь будет автоматически перенаправлен, если он получит доступ к защищенной области сайта.Однако возможно ли, чтобы пользователь сам сказал, что он хочет войти в систему (URL-адрес возврата будет домашней страницей, т.е. home / Index).

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

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Вопрос действительно неясен, но я постараюсь:

На вашем контроллере Account (который является защищенной областью, верно?) Создайте защищенное действие "Вход в систему".

[Authorized] //actually you don't need this attribute here when have it on controller level
//All this action does is authenticating the user and redirecting to home/Index
public ActionResult AutoLogin()
{
  return RedirectToAction("Index", "Home");
}

Затем в макете добавьте:

@Html.ActionLink(
       "Login", "AutoLogin", "Account", routeValues: new{}, htmlAttributes: new {id = "loginLink"})
0 голосов
/ 24 мая 2019

Ваш вопрос не совсем понятен, но если я вас правильно понимаю, вы ищете параметр запроса returnUrl.Например, если вы хотите отправить пользователя на /foo, но сначала хотите, чтобы он вошел в систему, вы можете создать ссылку, например:

<a href="/login?returnUrl=/foo">Go to Foo, but login first</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...