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); }
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); }