java实现密码重置功能_如何实施密码重置链接
我目前有一个系统,如果用户忘记了密码,他们可以通过点击忘记密码链接重置密码 . 他们将被带到他们输入用户名/电子邮件的页面,然后会向用户发送一封电子邮件,我想知道如何在电子邮件中实现密码重置链接,以便用户点击链接后/她被带到一个页面,允许他们重置密码 .
这是我控制器中的代码
public ActionResult ForgotPassword()
{
//verify user id
string UserId = Request.Params ["txtUserName"];
string msg = "";
if (UserId == null)
{
msg = "You Have Entered An Invalid UserId - Try Again";
ViewData["ForgotPassword"] = msg;
return View("ForgotPassword");
}
SqlConnection lsql = null;
lsql = DBFactory.GetInstance().getMyConnection();
String sqlstring = "SELECT * from dbo.[USERS] where USERID = '" + UserId.ToString() + "'";
SqlCommand myCommand = new SqlCommand(sqlstring, lsql);
lsql.Open();
Boolean validUser;
using (SqlDataReader myReader = myCommand.ExecuteReader())
{
validUser = false;
while (myReader.Read())
{
validUser = true;
}
myReader.Close();
}
myCommand.Dispose();
if (!validUser)
{
msg = "You Have Entered An Invalid UserId - Try Again";
ViewData["ForgotPassword"] = msg;
lsql.Close();
return View("ForgotPassword");
}
//run store procedure
using (lsql)
{
SqlCommand cmd = new SqlCommand("Stock_Check_Test.dbo.RESET_PASSWORD", lsql);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter paramUsername = new SqlParameter("@var1", UserId);
cmd.Parameters.Add(paramUsername);
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
if (Convert.ToInt32(rdr["RC"]) == 99)
{
msg = "Unable to update password at this time";
ViewData["ForgotPassword"] = msg;
lsql.Close();
return View("ForgotPassword");
}
}
}
msg = "new password sent";
ViewData["ForgotPassword"] = msg;
lsql.Close();
return View("ForgotPassword");
}
这是我当前的存储过程,它向用户发送电子邮件
ALTER PROCEDURE [dbo].[A_SEND_MAIL]
@var1 varchar (200), -- userid
@var2 varchar (200) -- email address
AS
BEGIN
declare @bodytext varchar(200);
set @bodytext = 'Password Reset for user: ' +@var1 + ' @' + cast (getDate() as varchar) + ' ' ;
EXEC msdb.dbo.sp_send_dbmail
@profile_name='Test',
@recipients=@var2,
@subject='Password Reset',
@body=@bodytext
END
GO
java实现密码重置功能_如何实施密码重置链接相关推荐
- java 1.8新增功能_睡觉时:新增的Java 8新增功能
java 1.8新增功能 自Java 8推出以来,最有趣的功能是什么? Java 8最近庆祝了它的第一个生日,其主要版本已经在一年多以前了. 这当然值得庆祝. 自从最初的Java 8版本问世以来,已经 ...
- android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐
手机中有很多应用都是与金钱挂钩,特别是微信与支付宝等等既涉及到隐私又与财产关联,这是后手机的安全就尤为重要的,而手机的锁屏密码就是一道最基本的防护措施,那么手机锁屏密码怎么设置?来看看小编推荐的三种安 ...
- 运用python编写凯撒密码并实现_凯撒密码实现英文短句的加解密
1. 将"We are students."这个英文词句用k=4的凯萨密码翻译成密码 1. 恺撒密码, 作为一种最为古老的对称加密体制,他的基本思想是: 通过把字母移动一定的位数来 ...
- nod32用户名和密码每天更新_网络设备默认密码在线查询网站,你还不修改?
① 路由器密码社区数据库 路由器密码是互联网上最新更新的默认路由器密码存储库.要查找路由器的默认密码,输入厂商就可以找到默认密码列表. 网址:http://www.routerpasswords.co ...
- nod32用户名和密码每天更新_忘记登录密码没有U盘怎么办?无U盘重置密码Win7篇
电脑忘记密码无法登录,手头也没有U盘怎么办, 本文介绍一下无U盘修改登录密码,无需旧密码.--win7篇 win10会重新写一篇 请勿用于非法用途,恶作剧,谢谢,这不是我的初衷. 根据图片操作 开启计 ...
- java实现续打功能_浅谈报表工具的打印方案
报表工具除了基本的绘制报表,完成数据呈现(也就是让终端用户能看到报表),打印也是报表的基本功能之一. 当前报表工具很多,可以按地域.开闭源等划分,包括有杰表.水晶.Style Report.birt. ...
- java实现团购功能_[Java教程]jquery组件团购倒计时功能
[Java教程]jquery组件团购倒计时功能 0 2014-05-12 12:00:04 本文网址:http://www.shaoqun.com/a/90954.html *特别声明:以上内容来自于 ...
- java 文档比较功能_[原创]java在线比较两个word文件
一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...
- java程序实现剪刀石头布功能_基于JAVA的剪刀石头布游戏设计——Java课程设计报告_...
基于JAVA的剪刀石头布游戏设计 1剪刀石头布游戏设计思路阐述 在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现: ⑴构造创建服务器端和客户端 ⑵创建输入输出流 ⑶编写服务器端处 ...
- java实现续打功能_银行存折套打续打功能--报表如何记录上次打印的位置
在实际项目中,经常会遇到打印的需求,而对于打印的特殊需求也越来越多,例如需要记录上次打印位置,当前打印时根据上次的打印位置继续打印的功能,像银行的存折的数据每次打印都不是用新的纸张,而是根据上次打印的 ...
最新文章
- sql查两个时间内的数据_如何通过AWR的sql脚本查执行时间、消耗CPU、gets、I/0等的sql?...
- 基于STVD给stm8编程遇到的问题
- Python学习一——Python下载安装
- 如何利用扩展欧几里得算法求解不定方程_客户端不用的算法系列:从头条笔试题认识扩展欧几里得算法...
- android之多媒体篇(一)
- 铃木uy125摩托车机油_UY125 新瑞梦UM125发布 济南铃木于湖南株洲吹响国IV集结号...
- Windows Phone 7 XNA触控操作之Gestures
- python常用算法包_Python中常用的包--sklearn
- PDF417数据容量
- EZStation如何登陆云端账号、密码?
- 传输线变压器设计原理
- ZA303学习笔记十部署负载均衡器和网络安全
- windows远程桌面不能复制粘贴的解决办法
- 从 IT 的角度思考 BIM(一):面向对象
- puts和printf的区别
- 2022年我在梦想清单里又加了3条
- C. Equalize(贪心)
- 梦幻手游版华为显示未连入服务器,《梦幻西游》手游双平台区为什么我手机没有?...
- mysql分库分表 ppt_数据库分库分表中间件架构解析.ppt
- 如何入门数字IC验证工程师,需要具备哪些知识和能力?培训班速成是否可行?
热门文章
- 对 COMP 通证经济模型的一般性评价
- Win11搜索框恢复成放大镜
- ironman钢铁侠高清mac动态壁纸
- 课后习题7.11 医院内科有A,B,C,D,E,F,G共7位医生,每人在一周内要值一次夜班,排班的要求是: (1)A医生值班日比C医生晚1天; (2)D医生值班日比E医生晚2天; (3)B医生值班日比
- OA项目之Mybatis多表链接查询
- 干货 领导力21法则思考
- 苹果恢复出厂设置系统也会还原吗_手机经常恢复出厂设置会怎么样?对手机有害处吗?这下终于清楚了...
- 与孤独世界的博弈——诺贝尔奖得主约翰·纳什的传奇一生
- 消息轨迹、ACL 与多副本搭建
- mysql 未找到 WinSxS_win7的winsxs文件清理方法