Всем привет. Столкнулся с такой вот проблемой: Необходимо продлить сессию пользователя до максимально возможной. Вот код самого класса при помощи, которого авторизую пользователя:
public static class AuthenticationExtensions
{
public const string StringValueType = "http://www.w3.org/2001/XMLSchema#string";
public static void SignIn(this Controller controllerBase, CustomerUserSM user, bool isPersistent = false)
{
var authenticationManager = controllerBase.HttpContext.GetOwinContext().Authentication;
authenticationManager.SignIn();
authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role);
identity.AddClaim(new Claim(ClaimTypes.Name, user.FullName, StringValueType));
identity.AddClaim(new Claim(ClaimTypes.Email, user.Email, StringValueType));
identity.AddClaim(new Claim(ClaimTypes.Role, user.Role, StringValueType));
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.PKID.ToString()));
authenticationManager.SignIn(new AuthenticationProperties { IsPersistent = isPersistent }, identity);
}
public static void SignOut(this Controller controllerBase)
{
var authenticationManager = controllerBase.HttpContext.GetOwinContext().Authentication;
authenticationManager.SignOut();
}
}
Пробовал в Web.config указывать:
<authentication mode="Forms">
<forms timeout="99999999"/>
</authentication>
<sessionState timeout="525500" />
Однако это не помогло.
Пропишите ExpireTimeSpan
в CookieAuthenticationOptions
:
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromMinutes(30) // значение побольше
});
}
Спасибо, но решил уже проблему путем изменения времени в следующем коде:
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.FromHours(500),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь показать месторасположение в реальном времени на карте, получаю координаты и вызываю функцию для добавления маркера на карту :
ИСПОЛЬЗУЕТСЯ: WebDriver, С#, Google chrome СЦЕНАРИЙ - парсим DOM - проверяем содержит ли DOM, искомый домен
В программе есть кнопка по нажатию которой пользователь может сбросить значения всех настроек к значению по умолчаниюНастройки хранятся...