Esempio n. 1
0
        public IUserSnap GetUserSnap(string ticket, LoginType type)
        {
            var passport = MongoEntity.Get <Passport>(p => p.SecurityKey == ticket);

            if (passport == null)
            {
                return(null);
            }
            var profile = MongoEntity.Get <Profile>(p => p.SecurityKey == ticket);

            if (profile == null)
            {
                return(null);
            }
            IUserSnap snap = new UserSnap()
            {
                Id             = profile.Id,
                SecurityKey    = profile.SecurityKey,
                Name           = profile.Name,
                Account        = profile.Account,
                LoginCode      = passport.GetLoginCode(type),
                LoginType      = type,
                Email          = profile.Email,
                RegisteredTime = profile.BsonObjectId.CreationTime
            };

            Log(snap.Name + " do GetUserSnap");
            return(snap);
            //return new UserInfo(profile.Id, profile.Account, profile.Name, profile.Email, (profile.Native == null ? "" : string.Format("{0}{1}{2}", profile.Region.Name, profile.Nationality.Name, profile.Native.Name)), DateTime.Now, profile.SecurityKey);
        }
Esempio n. 2
0
        public bool IsAuthorized(HttpContextBase context, LoginType type)
        {
            var _id          = context.GetToken(WebConfiguration.Instance.ConfigIdTokenName);
            var _account     = context.GetToken(WebConfiguration.Instance.ConfigAccountTokenName);
            var _securitykey = context.GetToken(WebConfiguration.Instance.ConfigSecurityTokenName);

            if (string.IsNullOrEmpty(_id) || string.IsNullOrEmpty(_account) || string.IsNullOrEmpty(_securitykey))
            {
                return(false);
            }
            var _code = string.Empty;

            if (type == LoginType.Web)
            {
                _code = context.GetIP();
            }
            else
            {
                _code = context.GetHeader(WebConfiguration.Instance.ConfigHeaderCodeName);
            }

            var snap = new UserSnap()
            {
                Id = _id, Account = _account, SecurityKey = _securitykey, LoginType = type, LoginCode = _code
            };

            return(Reception.Instance.IsAuthorized(snap));
        }
Esempio n. 3
0
 public static UserSnapToken AsToken(this UserSnap snap)
 {
     return(new UserSnapToken
     {
         product_id = snap.product_id,
         name = snap.product_name,
         sale_state = snap.sale_state,
         checkout_completed = snap.checkout_completed,
         msrp = (float)snap.msrp / 100F,
         price = (float)snap.price / 100F,
         close_price = (float)snap.close_price / 100F,
         snapped_at = snap.snapped_at,
         bonus_points = snap.bonus_points
     });
 }