Я думаю, что это довольно легко сделать в вашем контроллере, если вы не хотите использовать промежуточное ПО. Другое преимущество, которое вы получите, заключается в том, что вы можете установить RouteName для всех других маршрутов и просто перенаправить на маршрут, используя метод RedirectToRoute
. Итак, в вашем действии UrlToken:
[Route("[action]"]
public IActionResult SingleSignOn(string urlToken)
{
If (!string.IsNullOrWhitespace(urlToken))
{
return RedirectToRoute("RouteName"):
}
}
Чтобы вышеперечисленное сработало, вы должны указать RouteName для других действий либо с помощью AttributeRouting, либо глобально определить при запуске:
[Route("[action]", Name = "otherroute")]
public IActionResult OtherAction(string param1, string param 2)
{
//...
}
Так что просто замените "RouteName" в вашем действии SingleSignOn
на "otherroute", и оно будет работать. Если вам нужно передать параметры маршрута в «otherroute», вы можете использовать одну из перегрузок метода RedirectToRoute
. Надеюсь, это поможет.