Esempio n. 1
0
 public static ClaimsIdentity CreateIdentity(WeChatUser user, string authenticationType)
 {
     var identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);
     identity.AddClaim(new Claim(ClaimTypes.Name, user.NickName));
     identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));
     identity.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity"));
     identity.AddClaim(new Claim("DisplayName", user.NickName));
     return identity;
 }
        public object Post(LoginLogModel model)
        {
            if (model.WeChatUserModel.OpenId != null)
            {
                var wecharuser = _weChatUserService.GetWeChatUser(model.WeChatUserModel.OpenId);
                if (wecharuser == null)
                {
                    wecharuser = new WeChatUser
                    {
                        Id = Guid.NewGuid(),
                        OpenId = model.WeChatUserModel.OpenId,
                        NickName = model.WeChatUserModel.NickName,
                        Gender = (Gender)model.WeChatUserModel.Gender,
                        Language = model.WeChatUserModel.Language,
                        City = model.WeChatUserModel.City,
                        Province = model.WeChatUserModel.Province,
                        Headimgurl = model.WeChatUserModel.Headimgurl
                    };
                    _weChatUserService.Insert(wecharuser);
                }
                else
                {
                    wecharuser.OpenId = model.WeChatUserModel.OpenId;
                    wecharuser.NickName = model.WeChatUserModel.NickName;
                    wecharuser.Gender = (Gender)model.WeChatUserModel.Gender;
                    wecharuser.Language = model.WeChatUserModel.Language;
                    wecharuser.City = model.WeChatUserModel.City;
                    wecharuser.Province = model.WeChatUserModel.Province;
                    wecharuser.Headimgurl = model.WeChatUserModel.Headimgurl;
                    _weChatUserService.Update();
                }
                var loginLogId = Guid.NewGuid();
                if (_loginLogService.GetLoginLog(model.State) == null)
                {
                    _loginLogService.Insert(new LoginLog
                    {
                        Id = loginLogId,
                        State = model.State,
                        CreateTime = DateTime.Now,
                        WeChatUser_Id = wecharuser.Id
                    });
                    model.CreateTime = DateTime.Now;
                    model.Id = loginLogId;
                }

                return model;
            }
            return null;
        }
Esempio n. 3
0
 public void Insert(WeChatUser wechatuser)
 {
     DbContext.WeChatUsers.Add(wechatuser);
     DbContext.SaveChanges();
 }