Выход Перенаправление на страницу входа в MVC5 - PullRequest
0 голосов
/ 31 января 2020

Заголовок - Перенаправление на вход в систему после успешного выхода из системы. Как автоматически перенаправить на страницу входа в систему после автоматического выхода из системы в mvc5

Ответы [ 2 ]

1 голос
/ 31 января 2020

Поскольку вы не предоставляете никаких подробностей о своей реализации аутентификации / авторизации, я предполагаю, что вы используете MVC5 с отдельными учетными записями пользователей и используете промежуточное программное обеспечение OWIN для обработки ваших файлов cookie аутентификации.

В этом В простейшей форме поставьте эту проверку, если запрос (пользователь) аутентифицирован в вашем методе Index для контроллеров Home.

public async Task<ActionResult> Index()
        {
            if (Request.IsAuthenticated)
            {
                // do something here

                return View();
            }

            return RedirectToAction("Login", "Account");
        }

В классе Startup определите свой LoginPath, как показано здесь в стандартной реализации, как предполагалось выше:

app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                Provider = new CookieAuthenticationProvider
                {
                    // Enables the application to validate the security stamp when the user logs in.
                    // This is a security feature which is used when you change a password or add an external login to your account.  
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                },
                SlidingExpiration = true,
                // Use this to customize the timeout duration if the default is too short/long
                ExpireTimeSpan = TimeSpan.FromDays(14)
            });
0 голосов
/ 05 февраля 2020

Вам необходимо создать атрибут Timeout сеанса. Эта ссылка поможет вам реализовать ее.

...