public static SessionalUser GetUser(this ISession sess) { string cacheKey = GetUserCacheKey(sess); SessionalUser r = CacheUtils.Get <SessionalUser>(cacheKey); if (null != r) { return(r); } string s = sess.GetString(_userIdKey); if (String.IsNullOrEmpty(s)) { return(null); } var setting = new JsonSerializerSettings(); setting.PreserveReferencesHandling = PreserveReferencesHandling.Objects; setting.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; r = JsonConvert.DeserializeObject <SessionalUser>(s, setting); if (null == r || r.Id <= 0) { return(null); } CacheUtils.Set(cacheKey, r); return(r); }
public static bool AuthCheck(this HttpRequest request, string uri) { SessionalUser su = request.GetCSession().GetUser(); return((null == su || su.Id <= 0) ? WebApp.AnonymAuthMap.Contains(uri) : su.AuthMap.Contains(uri)); }
public static void SetUser(this ISession sess, SessionalUser user) { string cacheKey = GetUserCacheKey(sess); CacheUtils.Set(cacheKey, user); var setting = new JsonSerializerSettings(); setting.PreserveReferencesHandling = PreserveReferencesHandling.Objects; setting.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; setting.NullValueHandling = NullValueHandling.Ignore; string s = JsonConvert.SerializeObject(user, setting); sess.SetString(_userIdKey, s); }
public static void SetUser(this HttpRequest request, SessionalUser user) { request.GetCSession().SetUser(user); }