MVC4制作网站中怎样开发用户密码修改
发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,这篇文章将为大家详细讲解有关MVC4制作网站中怎样开发用户密码修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一用户1.1用户注册1.2用户登录1.
千家信息网最后更新 2024年11月21日MVC4制作网站中怎样开发用户密码修改用户在修改密码界面停留的时间过长,登录信息已失效。 系统错误。 "), Solution = Server.UrlEncode("返回修改密码页面,输入正确的信息后重新注册 联系网站管理员 ") }; return RedirectToAction("Error", "Prompt", _e); } _user.Password = Common.Text.Sha256(userChangePassword.NewPassword); if (userRsy.Update(_user)) { Notice _n = new Notice { Title = "成功修改密码", Details = "您已经成功修改密码,请牢记您的新密码!", DwellTime = 5, NavigationName = "登陆页面", NavigationUrl = Url.Action("Login", "User") }; return RedirectToAction("Notice", "Prompt", _n); } else { Error _e = new Error { Title = "修改密码失败", Details = "修改密码时,更新数据库失败!", Cause = Server.UrlEncode("系统错误。 "), Solution = Server.UrlEncode("返回修改密码页面,输入正确的信息后重新注册 联系网站管理员 ") }; return RedirectToAction("Error", "Prompt", _e); } } else { ModelState.AddModelError("Password", "原密码不正确,请重新输入"); return View(); } }
这篇文章将为大家详细讲解有关MVC4制作网站中怎样开发用户密码修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
一用户
1.1用户注册
1.2用户登录
1.3修改密码
修改密码会用到一个UserChangePassword 模型类,先添加UserChangePassword类
////// 用户修改密码模型 /// [NotMapped] public class UserChangePassword { ////// 原密码 /// [Display(Name = "原密码")] [Required(ErrorMessage = "×")] [StringLength(20, MinimumLength = 6, ErrorMessage = "×")] [DataType(DataType.Password)] public string Password { get; set; } ////// 新密码 /// [Display(Name = "新密码", Description = "6-20个字符。")] [Required(ErrorMessage = "×")] [StringLength(20, MinimumLength = 6, ErrorMessage = "×")] [DataType(DataType.Password)] public string NewPassword { get; set; } ////// 确认密码 /// [Display(Name = "确认密码", Description = "再次输入密码。")] [Compare("NewPassword", ErrorMessage = "×")] [DataType(DataType.Password)] public string ConfirmPassword { get; set; } }
用到了数据库的更新,先打开UserRepository.cs 修改Update函数
////// 更新用户信息 /// /// ///public override bool Update(User user) { dbContext.Users.Attach(user); dbContext.Entry (user).State = System.Data.EntityState.Modified; if (dbContext.SaveChanges() > 0) return true; else return false; }
在修改密码时需要查出用户信息并更新,需要添加Find(string UserName) 函数
////// 查找用户 /// /// 用户名 ///public User Find(string UserName) { return dbContext.Users.SingleOrDefault(u => u.UserName == UserName); }
好了打开UserController,添加ChangePassword Action
////// 修改密码 /// ///[UserAuthorize] public ActionResult ChangePassword() { return View(); } [HttpPost] [UserAuthorize] public ActionResult ChangePassword() { return View(); }
添加强类型(UserChangePassword)视图,在视图中添加三个文本框,修改后的视图代码
@model Ninesky.Models.UserChangePassword@{ ViewBag.Title = "修改密码"; Layout = "~/Views/Shared/_Layout.cshtml";}@using (Html.BeginForm()){ @Html.ValidationSummary(true)}@section Scripts { @Scripts.Render("~/bundles/jqueryval")}
- 修改密码
@Html.LabelFor(model => model.Password):@Html.PasswordFor(model => model.Password) @Html.ValidationMessageFor(model => model.Password) @Html.DisplayDescriptionFor(model => model.Password) @Html.LabelFor(model => model.NewPassword):@Html.PasswordFor(model => model.NewPassword) @Html.ValidationMessageFor(model => model.NewPassword) @Html.DisplayDescriptionFor(model => model.NewPassword) @Html.LabelFor(model => model.ConfirmPassword):@Html.PasswordFor(model => model.ConfirmPassword) @Html.ValidationMessageFor(model => model.ConfirmPassword) @Html.DisplayDescriptionFor(model => model.ConfirmPassword) @Html.ValidationMessage("Message")
修改UserController中[HttpPost]方式的ChangePassword()以实现修改密码,修改完成的代码如下:
[HttpPost] [UserAuthorize] public ActionResult ChangePassword(UserChangePassword userChangePassword) { userRsy = new UserRepository(); if (userRsy.Authentication(UserName, Common.Text.Sha256(userChangePassword.Password)) == 0) { var _user = userRsy.Find(UserName); if (_user == null) { Error _e = new Error { Title = "修改密码失败", Details = "修改密码时,系统查询不到用户信息", Cause = Server.UrlEncode("
在上面的代码中用到了一个UserName属性,这个是在UserController添加的属性用于返回Cookie中保存的用户名
////// 获取用户名 /// public string UserName { get { HttpCookie _cookie = Request.Cookies["User"]; if (_cookie == null) return ""; else return _cookie["UserName"]; } }
好了,浏览器中预览一下
测试一下,OK,大功告成!
关于MVC4制作网站中怎样开发用户密码修改就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
密码
用户
信息
网站
更新
输入
代码
用户名
系统
视图
页面
新密
制作网站
制作
开发
成功
内容
函数
属性
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术与设计是冷门专业吗
汇丰软件开发
好好的连接到任意官方服务器失败
我的世界端游服务器加入模组
比特币以太币服务器
软件开发的学习有用吗
企业用什么云服务器
引流协议软件开发
数据库课程实验室管理
崇明区品质数据库收费标准
数据库表设计 教程视频
香港网络服务器归大陆管理吗
手机版我的世界服务器添加模组
数据库年龄sa
精斗云会计核算软件数据库类型
数据库删除凭证
手机局域网代理服务器是什么
静安区上门软件开发
数据如何连接到数据库
邮件服务器提示收件人地址错误
网络安全董骅
地瓜网络技术钉钉视频下载器破解
数据库运维有哪些证可以考
互联网+与科技创新心得体会
数据库表设计 教程视频
网格型数据库
蛋白质互作数据库DIP
企业信息网络技术
金坛电力软件开发
pg 数据库 date