Redireccionar автоматически в драйвер с вида .cshtml

У меня есть Веб приложение mvc, который просит как базовая страница проверять Вашу идентификацию, и если она правильна, пошли в главную страницу, действие истекает правильно используя удостоверение путь Forms и redirecciona в эту, если пробует уходить прямо путь url в другой адрес, но возвратив в страницу login путь url, когда уже он идентифицирован, эта вновь показывает формуляры login. пробовала со следующим, но просит ручное действие пользователя путь соединение.

 @if (Request.IsAuthenticated)
{
    @Html.ActionLink("Salir", "Index", "Home")       
}
  • Это рекомендуемый redireccionar одной, видный в другой вид прямо или использование драйвера необходимо, чтобы предотвращать ненормальность?
4
задан 11.02.2016, 20:11
3 ответа

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

Ты смог бы в view login использовать код сервер с javascript, немного, как быть:

@if (Request.IsAuthenticated){
   <script> window.location.href='@Url.Action("Home", "Index")'; </script>
}

таким образом, когда renderice view login вводил в компьютер этот рукописный шрифт, который он выполнял хорошо, я даже не нагрузил, redireccionando в страницу, которую ты определяешь.

2
ответ дан 24.11.2019, 14:53

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

  • Если бы не заверенный пользователь показал формуляр, чтобы входить пользователь и пароль
  • Если он заверен, он мог бы показывать имя пользователя и две ссылки, один, чтобы закрывать сеанс и другой, чтобы идти в главную страницу

Способ это осуществлять был бы имея два отличных совещания для каждого случая Login.cshtml и LoginAuthenticated.cshtml потому что у каждой есть различный рисунок

В действии драйвера у тебя был бы этот код:

[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
    ViewBag.ReturnUrl = returnUrl;
    if (Request.IsAuthenticated)
    {
        return View("LoginAutenticathed");
    }
    else
    {
        return View();
    }
}

Немного важно, который мы были бы должны иметь в виду, когда мы разрабатываем, состоит в том, что нужно уважать главные файлы.

В этом случае главный файл MVC подразумевает, что просьбы проходят по драйверу, там они обрабатываются и делают себе уместные операции и готовят себе данные (модель), которые красят тебя в виде.

Следовательно перенаправление должно делаться в драйвере, как прокомментировал Хорхе Маурисио Гонсалес и не в виде

1
ответ дан 24.11.2019, 14:53

Ответ Леандро ты может функционировать, хотя я верю в то, что идеальное serГ, - чтобы это делать с драйвера:

    public ActionResult LogIn()
    {
        if(Request.IsAuthenticated)
            return RedirectToAction("Index", "Home");
        return View();
    }
2
ответ дан 24.11.2019, 14:53

Теги

Похожие вопросы