У меня есть приложение asp.net mvc web api с ember и simplemembershipprovider. Я использую шаблон ember, и с ним приложение ember создается при успешном входе пользователя в домашний контроллер.Ember + web api single page redirect
public ActionResult Index(string returnUrl)
{
if (User.Identity.IsAuthenticated)
{
return View("App");
}
ViewBag.ReturnUrl = returnUrl;
return View();
}
Иногда пользователь щелкнет ссылку в сообщении электронной почты с идентификатором при посещении сайта, если URL включает в себя идентификатор, после успешного входа в систему, я хочу, чтобы перенаправить пользователя на страницу с деталями базы по предоставленному идентификатору в url. Примером может служить http://siteURL.com/#/product/1412. Мне сложно понять, как это сделать. Так как это маршрут ember на стороне клиента, MVC не проводит различия между этим маршрутом и http://siteURL.com, поэтому он просто игнорирует запрос на перенаправление. Вот что я пробовал.
назначить URL в контроллере авторизации - ничего не происходит после того, как данные JSON возвращается, остается на странице входа в систему и не попал в HomeController, даже если пользователь не аутентификацией.
FormsAuthentication.SetAuthCookie (model.UserName, model.RememberMe);
returnUrl = "http://siteURL.com/#/product/1412";
return Json (новый {success = true, redirect = returnUrl});использование ответа перенаправление. То же, что и # 1
Response.Redirect (returnUrl);- Назначенный адрес в домашнем контроллере, как указано выше.
if (User.Identity.IsAuthenticated)
{
returnUrl = "http://siteURL.com/#/product/1412";
return View («Приложение»);
}
ViewBag.ReturnUrl = returnUrl;
возвращение Вид();