예제 #1
0
        public ActionResult RegisterUser(User user)
        {
            if (ModelState.IsValid)
            {
                string validatacode = System.Guid.NewGuid().ToString();
                user.Code      = validatacode;
                user.Status    = 0;
                user.CreatTime = DateTime.Now;

                StringBuilder result = new StringBuilder();

                //MD5CryptoServiceProvider   是 加密服务提供程序   用来 计算字符串的 MD5 哈希值
                using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
                {
                    //将输入字符串转换为字节数组并计算哈希。
                    byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(user.PassWord));

                    //X为     十六进制 X都是大写 x都为小写
                    //2为 每次都是两位数
                    //假设有两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A。
                    //遍历哈希数据的每个字节
                    //并将每个字符串格式化为十六进制字符串。
                    int length = data.Length;
                    for (int i = 0; i < length; i++)
                    {
                        result.Append(data[i].ToString("x2"));
                    }
                }
                user.PassWord   = result.ToString();
                user.ConfirmPwd = result.ToString();
                db.User.Add(user);
                try
                {
                    //让db 不对实体验证
                    db.Configuration.ValidateOnSaveEnabled = false;
                    db.SaveChanges();
                    db.Configuration.ValidateOnSaveEnabled = true;
                }
                catch (Exception e)
                {
                    throw;
                }

                SendEmail(validatacode, user.Email, user.UserName);
                return(RedirectToAction("LoginPage", "Login"));
            }


            return(View("RegisterPage", user));
        }
예제 #2
0
        //修改密码
        public ActionResult ResetPwdDb(string UserName, string PassWord)
        {
            User          ub     = db.User.Where(u => u.UserName == UserName).FirstOrDefault();
            StringBuilder result = new StringBuilder();

            //MD5CryptoServiceProvider   是 加密服务提供程序   用来 计算字符串的 MD5 哈希值
            using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
            {
                //将输入字符串转换为字节数组并计算哈希。
                byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(PassWord));

                //X为     十六进制 X都是大写 x都为小写
                //2为 每次都是两位数
                //假设有两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A。
                //遍历哈希数据的每个字节
                //并将每个字符串格式化为十六进制字符串。
                int length = data.Length;
                for (int i = 0; i < length; i++)
                {
                    result.Append(data[i].ToString("x2"));
                }
            }
            ub.PassWord   = result.ToString();
            ub.ConfirmPwd = result.ToString();
            try
            {
                //让db 不对实体验证
                db.Configuration.ValidateOnSaveEnabled = false;
                db.SaveChanges();
                db.Configuration.ValidateOnSaveEnabled = true;
            }
            catch (Exception e)
            {
                throw;
            }


            return(View());
        }
예제 #3
0
        public ActionResult AddPicPage()
        {
            string fileReasonVoide = "";
            string ftpServer       = "172.16.9.91";
            string ftpUser         = "******";
            string ftpPwd          = "kfz123456";

            foreach (string key in Request.Files)    // 文件键
            {
                var postedFile = Request.Files[key]; // 获取文件键对应的文件对象
                fileReasonVoide = DateTime.Now.ToString("yyMMddHHmmss") + postedFile.FileName;
                //string filename=  Path.GetFileName(postedFile.FileName);//获取文件名有后缀
                string        filenameW = Path.GetFileNameWithoutExtension(postedFile.FileName);//获取文件名没有后缀
                string        extension = Path.GetExtension(postedFile.FileName);
                string        filename  = filenameW + DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
                string        uri       = "ftp://" + ftpServer + "/" + fileReasonVoide;
                FtpWebRequest reqFTP;
                reqFTP               = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
                reqFTP.Credentials   = new NetworkCredential(ftpUser, ftpPwd);
                reqFTP.KeepAlive     = false;
                reqFTP.Method        = WebRequestMethods.Ftp.UploadFile;
                reqFTP.UsePassive    = false;
                reqFTP.UseBinary     = true;
                reqFTP.ContentLength = postedFile.ContentLength;
                int    buffLength = 2048;
                byte[] buff       = new byte[buffLength];
                int    contentLen;
                Stream fs = postedFile.InputStream;
                fs.Position = 0;
                try
                {
                    Stream strm = reqFTP.GetRequestStream();
                    contentLen = fs.Read(buff, 0, buffLength);
                    while (contentLen != 0)
                    {
                        strm.Write(buff, 0, contentLen);
                        contentLen = fs.Read(buff, 0, buffLength);
                    }
                    strm.Close();
                    fs.Close();
                }
                catch (Exception ex)
                {
                }
                PictureInfo pic    = GetXYFromPic(@"D:\PicTure\" + fileReasonVoide);
                HttpCookie  cookie = Request.Cookies.Get("UserCookie");

                //判断cookie是否空值
                if (cookie != null)
                {
                    //把保存的用户名和密码赋值给对应的文本框
                    //用户名
                    string UName = cookie.Values["UserName"].ToString();
                    var    query = dp.User.Where(c => c.UserName == UName).FirstOrDefault();
                    pic.UserId = query.UserId;
                }

                if (("0001/1/1 0:00:00".Equals(pic.TackDate.ToString())) || ("0001-01-01 00:00:00".Equals(pic.TackDate.ToString())))
                {
                    pic.TackDate = DateTime.Now;
                }
                dp.PictureInfo.Add(pic);
                if (dp.SaveChanges() < 0)
                {
                    return(Content("no"));
                }
            }

            return(Content("ok"));
        }