Поскольку вы не предоставляете никаких подробностей о своей реализации аутентификации / авторизации, я предполагаю, что вы используете 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)
});