public void ExpireLoginTicket(LoginTicket loginTicket) { using (var ctx = new IdentityManagerContext()) { var ticket = ctx.Tickets.SingleOrDefault(x => x.TokenId == loginTicket.TokenId); ticket.IsExpired = true; ctx.SaveChanges(); } }
public void CreateLoginTicket(string userNameWithDomain, string ldapPath) { var ticket = new LoginTicket { Domain = ldapPath, IsExpired = false, LogInTime = DateTime.UtcNow, TokenId = Guid.NewGuid(), UserName = userNameWithDomain, }; using (var ctx = new IdentityManagerContext()) { ctx.Tickets.Add(ticket); ctx.SaveChanges(); } }
public static void ExpireLoginTicketAfterTimeout() { int defaultTimeout = 20; int.TryParse(ConfigurationManager.AppSettings["TicketExpirationTimeoutInMinutes"], out defaultTimeout); lock (_lockObject) { using (var ctx = new IdentityManagerContext()) { var currentTime = DateTime.UtcNow; var tickets = ctx.Tickets.Where(x => x.IsExpired == false && DbFunctions.DiffMinutes(x.LogInTime, currentTime) >= defaultTimeout); foreach (var ticket in tickets) { ticket.IsExpired = true; } ctx.SaveChanges(); } } }