MVC4制作网站中怎样开发用户密码修改
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章将为大家详细讲解有关MVC4制作网站中怎样开发用户密码修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一用户1.1用户注册1.2用户登录1.
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
软件开发计划超市管理系统
为什么不能用本地服务器名称
南京软件开发大会
大兴区信息网络技术服务好处
上海腾宁网络技术有限公司
华为服务器在国内的市场空间
昆明市西山区南亚汇网络技术部
团队作战代码管理服务器
橙光游戏软件开发商金手指
数据库文件路径是什么
监控服务器的介绍
和平精英可以选择服务器吗
查看软件用到的数据库类型
客户端和服务器进行交互
根服务器里面的域名是什么
网络安全的英文字母是什么
软件开发部软件开发部
网络安全法制考试题库
apple验证服务器
北京常规软件开发诚信服务
git 服务器同步
网络服务器的常用技术有哪些
中国企业公司产品数据库
优刻得云服务器怎么退费
如何万方数据库
大庆招工软件开发
网络安全员证书等级
网络安全法 网络运营者包括
cod6怎么加服务器
宝山区创新软件开发价格表格