public static IAuthSession GetSession(this IHttpRequest httpReq, bool reload = false) { if (httpReq == null) { return(null); } object oSession = null; if (!reload) { httpReq.Items.TryGetValue(RequestItemsSessionKey, out oSession); } if (oSession != null) { return((IAuthSession)oSession); } using (var cache = httpReq.GetCacheClient()) { var sessionId = httpReq.GetSessionId(); var session = cache.Get <IAuthSession>(SessionFeature.GetSessionKey(sessionId)); if (session == null) { session = AuthService.CurrentSessionFactory(); session.Id = sessionId; session.CreatedAt = session.LastModified = DateTime.UtcNow; session.OnCreated(httpReq); } httpReq.Items.Add(RequestItemsSessionKey, session); return(session); } }
public static IAuthSession GetSession(this ICacheClient cache, string sessionId) { var session = cache.Get <IAuthSession>(SessionFeature.GetSessionKey(sessionId)); if (session == null) { session = AuthService.CurrentSessionFactory(); session.Id = sessionId; session.CreatedAt = session.LastModified = DateTime.UtcNow; } return(session); }
public static void RemoveSession(this IHttpRequest httpReq) { if (httpReq == null) return; using (var cache = httpReq.GetCacheClient()) { var sessionKey = SessionFeature.GetSessionKey(httpReq.GetSessionId()); cache.Remove(sessionKey); } httpReq.Items.Remove(RequestItemsSessionKey); }
public static void SaveSession(this IHttpRequest httpReq, IAuthSession session, TimeSpan? expiresIn = null) { if (httpReq == null) return; using (var cache = httpReq.GetCacheClient()) { var sessionKey = SessionFeature.GetSessionKey(httpReq.GetSessionId()); cache.CacheSet(sessionKey, session, expiresIn ?? AuthFeature.GetDefaultSessionExpiry()); } httpReq.Items[RequestItemsSessionKey] = session; }
public static string GetSessionKey(IHttpRequest httpReq = null) { var sessionId = SessionFeature.GetSessionId(httpReq); return(sessionId == null ? null : SessionFeature.GetSessionKey(sessionId)); }