public ActionResult Register(RegisterViewModel model) { RegisterResult result = new RegisterResult { Code = AppConst.MSG_ERR, Message = "", Data = null }; try { var user = new St_user(); user.AddTime = DateTime.Now; user.LoginName = model.UserName; user.LoginPass = DBService.SHA1Hash(model.Password); user.Name = model.UserName; user.Email = ""; user.RoleId = 0; user.Status = 0; int uid = DBService.AddEntity <St_user>(user, true); if (uid > 0) { var member = new St_member(); member.Addr = ""; member.AddTime = DateTime.Now; member.Email = ""; member.HadVerify = false; member.Level = "普通会员"; member.Mobile = model.Mobile; member.QQ = ""; member.RealName = model.UserName; member.Remark = ""; member.Tel = ""; member.UserId = uid; member.Wechat = ""; int memid = DBService.AddEntity <St_member>(member, true); if (memid > 0) { var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, model.UserName)); claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())); claims.Add( new Claim( "http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity")); claims.Add(new Claim(ClaimTypes.Role, "0")); claims.Add(new Claim("Sex", user.Sex.HasValue && user.Sex.Value ? "1" : "0")); claims.Add(new Claim("DisplayName", user.Name)); var identity = new ClaimsIdentity(claims, "MyClaimsLogin"); HttpContext.GetOwinContext().Authentication.SignIn(new AuthenticationProperties() { IsPersistent = false }, identity); result.Code = AppConst.MSG_SUCCESS; result.Data = model; } else { ModelState.AddModelError("", "无法注册用户!"); result.Message = "无法注册用户!"; } } else { ModelState.AddModelError("", "无法添加用户!"); result.Message = "无法添加用户!"; } } catch (Exception ex) { result.Message = ex.Message; } return(Content(JsonConvert.SerializeObject(result))); }
public ActionResult Register(RegisterViewModel model, string returnUrl) { if (UserService.Exists(model.UserName)) { ModelState.AddModelError("UserName", "用户名已存在!"); } if (ModelState.IsValid) { var user = new St_user(); user.AddTime = DateTime.Now; user.LoginName = model.UserName; user.LoginPass = DBService.SHA1Hash(model.Password); user.Name = model.RealName; user.Email = model.Email; user.RoleId = 0; user.Status = 0; int uid = DBService.AddEntity <St_user>(user, true); if (uid > 0) { var member = new St_member(); member.Addr = model.Addr; member.AddTime = DateTime.Now; member.Email = model.Email; member.HadVerify = false; member.Level = "普通会员"; member.Mobile = model.Mobile; member.QQ = model.QQ; member.RealName = model.RealName ?? model.UserName; member.Remark = model.Other; member.Tel = model.Tel; member.UserId = uid; member.Wechat = model.Wechat; int memid = DBService.AddEntity <St_member>(member, true); if (memid > 0) { var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, model.UserName)); claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())); claims.Add(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity")); claims.Add(new Claim(ClaimTypes.Role, "0")); claims.Add(new Claim("Sex", user.Sex.HasValue && user.Sex.Value ? "1" : "0")); claims.Add(new Claim("DisplayName", user.Name)); var identity = new ClaimsIdentity(claims, "MyClaimsLogin"); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = false }, identity); if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "无法注册用户!"); } } else { ModelState.AddModelError("", "无法添加用户!"); } } return(View(model)); }