Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 public static void SetUser(this HttpRequest request, SessionalUser user)
 {
     request.GetCSession().SetUser(user);
 }