我目前有一个系统,如果用户忘记了密码,他们可以通过点击忘记密码链接重置密码 . 他们将被带到他们输入用户名/电子邮件的页面,然后会向用户发送一封电子邮件,我想知道如何在电子邮件中实现密码重置链接,以便用户点击链接后/她被带到一个页面,允许他们重置密码 .

这是我控制器中的代码

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实现密码重置功能_如何实施密码重置链接相关推荐

  1. java 1.8新增功能_睡觉时:新增的Java 8新增功能

    java 1.8新增功能 自Java 8推出以来,最有趣的功能是什么? Java 8最近庆祝了它的第一个生日,其主要版本已经在一年多以前了. 这当然值得庆祝. 自从最初的Java 8版本问世以来,已经 ...

  2. android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐

    手机中有很多应用都是与金钱挂钩,特别是微信与支付宝等等既涉及到隐私又与财产关联,这是后手机的安全就尤为重要的,而手机的锁屏密码就是一道最基本的防护措施,那么手机锁屏密码怎么设置?来看看小编推荐的三种安 ...

  3. 运用python编写凯撒密码并实现_凯撒密码实现英文短句的加解密

    1. 将"We are students."这个英文词句用k=4的凯萨密码翻译成密码 1. 恺撒密码, 作为一种最为古老的对称加密体制,他的基本思想是: 通过把字母移动一定的位数来 ...

  4. nod32用户名和密码每天更新_网络设备默认密码在线查询网站,你还不修改?

    ① 路由器密码社区数据库 路由器密码是互联网上最新更新的默认路由器密码存储库.要查找路由器的默认密码,输入厂商就可以找到默认密码列表. 网址:http://www.routerpasswords.co ...

  5. nod32用户名和密码每天更新_忘记登录密码没有U盘怎么办?无U盘重置密码Win7篇

    电脑忘记密码无法登录,手头也没有U盘怎么办, 本文介绍一下无U盘修改登录密码,无需旧密码.--win7篇 win10会重新写一篇 请勿用于非法用途,恶作剧,谢谢,这不是我的初衷. 根据图片操作 开启计 ...

  6. java实现续打功能_浅谈报表工具的打印方案

    报表工具除了基本的绘制报表,完成数据呈现(也就是让终端用户能看到报表),打印也是报表的基本功能之一. 当前报表工具很多,可以按地域.开闭源等划分,包括有杰表.水晶.Style Report.birt. ...

  7. java实现团购功能_[Java教程]jquery组件团购倒计时功能

    [Java教程]jquery组件团购倒计时功能 0 2014-05-12 12:00:04 本文网址:http://www.shaoqun.com/a/90954.html *特别声明:以上内容来自于 ...

  8. java 文档比较功能_[原创]java在线比较两个word文件

    一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...

  9. java程序实现剪刀石头布功能_基于JAVA的剪刀石头布游戏设计——Java课程设计报告_...

    基于JAVA的剪刀石头布游戏设计 1剪刀石头布游戏设计思路阐述 在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现: ⑴构造创建服务器端和客户端 ⑵创建输入输出流 ⑶编写服务器端处 ...

  10. java实现续打功能_银行存折套打续打功能--报表如何记录上次打印的位置

    在实际项目中,经常会遇到打印的需求,而对于打印的特殊需求也越来越多,例如需要记录上次打印位置,当前打印时根据上次的打印位置继续打印的功能,像银行的存折的数据每次打印都不是用新的纸张,而是根据上次打印的 ...

最新文章

  1. sql查两个时间内的数据_如何通过AWR的sql脚本查执行时间、消耗CPU、gets、I/0等的sql?...
  2. 基于STVD给stm8编程遇到的问题
  3. Python学习一——Python下载安装
  4. 如何利用扩展欧几里得算法求解不定方程_客户端不用的算法系列:从头条笔试题认识扩展欧几里得算法...
  5. android之多媒体篇(一)
  6. 铃木uy125摩托车机油_UY125 新瑞梦UM125发布 济南铃木于湖南株洲吹响国IV集结号...
  7. Windows Phone 7 XNA触控操作之Gestures
  8. python常用算法包_Python中常用的包--sklearn
  9. PDF417数据容量
  10. EZStation如何登陆云端账号、密码?
  11. 传输线变压器设计原理
  12. ZA303学习笔记十部署负载均衡器和网络安全
  13. windows远程桌面不能复制粘贴的解决办法
  14. 从 IT 的角度思考 BIM(一):面向对象
  15. puts和printf的区别
  16. 2022年我在梦想清单里又加了3条
  17. C. Equalize(贪心)
  18. 梦幻手游版华为显示未连入服务器,《梦幻西游》手游双平台区为什么我手机没有?...
  19. mysql分库分表 ppt_数据库分库分表中间件架构解析.ppt
  20. 如何入门数字IC验证工程师,需要具备哪些知识和能力?培训班速成是否可行?

热门文章

  1. 对 COMP 通证经济模型的一般性评价
  2. Win11搜索框恢复成放大镜
  3. ironman钢铁侠高清mac动态壁纸
  4. 课后习题7.11 医院内科有A,B,C,D,E,F,G共7位医生,每人在一周内要值一次夜班,排班的要求是: (1)A医生值班日比C医生晚1天; (2)D医生值班日比E医生晚2天; (3)B医生值班日比
  5. OA项目之Mybatis多表链接查询
  6. 干货 领导力21法则思考
  7. 苹果恢复出厂设置系统也会还原吗_手机经常恢复出厂设置会怎么样?对手机有害处吗?这下终于清楚了...
  8. 与孤独世界的博弈——诺贝尔奖得主约翰·纳什的传奇一生
  9. 消息轨迹、ACL 与多副本搭建
  10. mysql 未找到 WinSxS_win7的winsxs文件清理方法