private readonly int loggedInUserExpiryIntervalInSeconds = 6 * 60 * 60; // 6 hours public SecurityGroupHandler(IHttpContextAccessor httpContextAccessor, IConfiguration configuration) { loggedInUsersCache = new Dictionary <string, Dictionary <string, long> >(); var applensAccess = new SecurityGroupConfig(); var applensTesters = new SecurityGroupConfig(); configuration.Bind("ApplensAccess", applensAccess); configuration.Bind("ApplensTesters", applensTesters); loggedInUsersCache.Add(applensAccess.GroupId, new Dictionary <string, long>()); loggedInUsersCache.Add(applensTesters.GroupId, new Dictionary <string, long>()); ClearLoggedInUserCache(); _httpContextAccessor = httpContextAccessor; }
public SecurityGroupHandler(IHttpContextAccessor httpContextAccessor, IConfiguration configuration, ICosmosDBHandler <TemporaryAccessUser> cosmosDBHandler) { loggedInUsersCache = new Dictionary <string, Dictionary <string, CachedUser> >(); var applensAccess = new SecurityGroupConfig(); var applensTesters = new SecurityGroupConfig(); configuration.Bind("ApplensAccess", applensAccess); configuration.Bind("ApplensTesters", applensTesters); loggedInUsersCache.Add(applensAccess.GroupId, new Dictionary <string, CachedUser>()); loggedInUsersCache.Add(applensTesters.GroupId, new Dictionary <string, CachedUser>()); loggedInUsersCache.Add("TemporaryAccess", new Dictionary <string, CachedUser>()); ClearLoggedInUserCache(); _httpContextAccessor = httpContextAccessor; var accessDurationInDays = configuration["ApplensTemporaryAccess:AccessDurationInDays"]; int.TryParse(accessDurationInDays.ToString(), out temporaryAccessDays); temporaryAccessExpiryInSeconds = temporaryAccessDays * 24 * 60 * 60; _cosmosDBHandler = cosmosDBHandler; }