Этот ответ кажется довольно полным , но мое приложение использует ApplicationSignInManager
вместо AuthenticationManager
, которое использует ответ, поэтому оно не относится к моему приложению.
Я пытаюсь отследить свои логины пользователей (это частный веб-сайт, который будет использоваться клиентом внутри компании). Таким образом, клиент в основном хочет, чтобы логин работал как временная карта, чтобы начальник мог видеть, когда сотрудники приходят в офис.
Эта функциональность означает, что я не могу полагаться на постоянные входы в систему по умолчанию для поведения удостоверения ASP.NET, поскольку он не позволяет мне контролировать, если / когда истекает срок действия файла cookie для входа.
Что я хотел бы сделать, так это истечь куки в 4 утра каждый день, независимо от того, когда происходит вход в систему.
По этой причине, ограничение срока службы куки в конфигах на самом деле тоже не удовлетворяет моим требованиям.
Вот мой код для входа - довольно много стандартного. При первом ответе я надеялся, что смогу вставить срок действия cookie в метод SignIn
, но, поскольку я использую не AuthenticationManager
для входа в систему, похоже, нет способа сделать это с помощью мой текущий код.
var manager = Context.GetOwinContext().GetUserManager<UserManager>();
var signinManager = Context.GetOwinContext().GetUserManager<ApplicationSignInManager>();
// Note that this always persists the login cookie.
var result = signinManager.PasswordSignIn(Email.Text, Password.Text, true, shouldLockout: false);
// Evaluation of result below
Если мне нужно изменить способ входа в систему, это нормально; Мне просто нужно несколько советов о том, какие изменения нужно внести (пример кода будет полезен).
Заранее спасибо!