예제 #1
0
 public ActionResult ConfirmMail([Bind(Exclude = "AuthCode")] string uid, UserInfo userinfo)
 {
     try
     {
         using (System.Transactions.TransactionScope transaction = new System.Transactions.TransactionScope())
         {
             userinfo = db.UserInfo.FirstOrDefault(p => p.Uid == uid);
             userinfo.Email = Request["newmail"];
             userinfo.AuthCode = Guid.NewGuid().ToString();
             UpdateModel(userinfo);
             db.SubmitChanges();
             System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient("smtp.qq.com", 25);
             sc.Credentials = new System.Net.NetworkCredential("342354548", "0oO0oO");
             sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
             string verify_url = new Uri(Request.Url, System.Web.Routing.RouteTable.Routes.GetVirtualPath
                 (Request.RequestContext, new System.Web.Routing.RouteValueDictionary
                     (new { action = "Verify", authCode = userinfo.AuthCode })).VirtualPath).AbsoluteUri;
             sc.Send("*****@*****.**", userinfo.Email, "会员注册确认信", verify_url);
             transaction.Complete();
         }
         Session["CurrentUser"] = null;
         return Content("验证邮件已发出,请验证后重新登录!");
     }
     catch (Exception ex)
     {
         ex.ToString();
         return Content("验证邮箱不存在,请重新填写!");
     }
 }
예제 #2
0
 partial void DeleteUserInfo(UserInfo instance);
예제 #3
0
 partial void UpdateUserInfo(UserInfo instance);
예제 #4
0
 partial void InsertUserInfo(UserInfo instance);
예제 #5
0
 public ActionResult Register([Bind(Exclude = "ID,IsAdmin,AuthCode,CreateTime")] FormCollection formcollection)
 {
     UserInfo userinfo=new UserInfo();
     userinfo.Uid = formcollection["username"];
     userinfo.Password = formcollection["password"];
     userinfo.Uname = formcollection["nickname"];
     userinfo.Email = formcollection["email"];
     userinfo.Photo = formcollection["selectbox"];
     try
     {
         using (TianLaiDBDataContext db = new TianLaiDBDataContext())
         {
             //检查账户是否重复
             if (db.UserInfo.Where(p => p.Uid == userinfo.Uid).FirstOrDefault() != null)
             {
                 ViewData["unameconfirm"] = "<label style='color:Red'>用户名重复,请重新输入</label>";
                 return View(userinfo);
             }
             using (System.Transactions.TransactionScope transaction = new System.Transactions.TransactionScope())
             {
                 //指定已排除的默认值
                 userinfo.IsAdmin = false;
                 userinfo.AuthCode = Guid.NewGuid().ToString();
                 userinfo.Password = HashPassword(userinfo.Password);
                 userinfo.Createdata = DateTime.Now;
                 //将数据保存至数据库
                 db.UserInfo.InsertOnSubmit(userinfo);
                 db.SubmitChanges();
                 System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient("smtp.qq.com", 25);
                 sc.Credentials = new System.Net.NetworkCredential("342354548", "0oO0oO");
                 sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                 string verify_url = new Uri(Request.Url, System.Web.Routing.RouteTable.Routes.GetVirtualPath
                     (Request.RequestContext, new System.Web.Routing.RouteValueDictionary
                         (new { action = "Verify", authCode = userinfo.AuthCode })).VirtualPath).AbsoluteUri;
                 sc.Send("*****@*****.**", userinfo.Email, "会员注册确认信", verify_url);
                 transaction.Complete();
             }
         }
     }
     catch (System.Net.Mail.SmtpException)
     {
         ModelState.AddModelError("Email", "很抱歉!系统发生异常,目前无法寄送确认信,请稍候再试!");
         return View(userinfo);
     }
     return Content("注册信息已发出,请登录邮箱验证!");
 }