Я использую приложение MVC по умолчанию, и я начал добавлять [Авторизовать] к определенным контроллерам, чтобы пользователи, пытающиеся получить к ним доступ, получили экран входа в систему и затем будет перенаправлен после аутентификации.Перенаправление на определенный контроллер после входа с определенной страницы
Единственное, что я не могу понять, это как это сделать для контроллеров с анонимным доступом, особенно мой HomeController. На этой странице, когда пользователь нажимает «login» и аутентифицируется, и пользователь снова перенаправляется обратно на HomeController.
То, что я хочу сделать, - это когда пользователь нажимает кнопку входа на эту страницу только для того, чтобы пользователь был отправлен на страницу входа в систему, а при успешной аутентификации они направлены на другой контроллер.
Я знаю, что макет входа находится в _LoginPartial.cshtml, но я не уверен, как и , если Это место, где вы можете добавить эту функцию.
EDIT
Я полагаю, я мог бы использовать объект ViewBag и передать в ReturnUrl на макете, а также использовать оператор @If, чтобы показать другой ActionLink. Как бы вы изменили следующее, чтобы указать returnurl?
@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })
вы пытались «вернуть RedirectToAction? –
В AccountController есть returnURL, но я не знаю, как установить это на странице HomeController. – WhiskerBiscuit
Вы используете Forms Auth? Не можете ли вы переопределить процесс аутентификации, чтобы посмотреть на реферер и перенаправить соответственно? – tucaz