博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC应用程序请求密码的功能(二)
阅读量:6948 次
发布时间:2019-06-27

本文共 1023 字,大约阅读时间需要 3 分钟。

在完成《》之后,如果你照着做,所有请求只会列在MailingList表中,并没发送出去。

Insus.NET现在就继续下去,让这个功能能尽量完美下去。

 

在上一篇中,有一个存储过程:
在这个存储过程#38与#39行代码,是一个超链接,它是真正存在MVC的应用程序中。也就是说,给会员发送邮件时,就是把这个链接的视图发送至会员的邮箱中。因此,我们得创建这个视图。

创建这个视图,得先创建一个Model,是为了方便在这个视图中能显示动态数据。

去控制器MemberController.cs添加一个视图ActionResult:

创建视图:
这个视图即是邮件内容。这些内容你完全可以自定制,在此仅供参考。
现在我们要处理MailingList这个表的数据了,这个表的数据,就是会员请求密码时,产生的一笔记录。每一笔记录,即是要向会员发送电子邮件。这个可以写一个存储过程,时行分发它们:
先是创建了一个临时表,把所有记录的插入至这个临时表中,然后去删除刚才插入临时表相同的记录。最后是临时表LEFT JOIN 邮件参考表一起返回给MVC应用程序。在应用程序的Entities目录,创建一个实体:
接下来的实现,也可算是本篇的重点,就是MVC应用程序自动执行发送邮件的功能:
去Insus.NET的博客,打开 下载 然后参考至MVC的应用程序中:

 在MVC应用程序中的App_Start目录,写AutomationTask.cs:

 

此时,还需要修改Global.asax文件,添加下图高亮行代码。

 

 这样只要应用程序运行,AutomationTask.cs也会自动执行。现在可以演示一下了,先去修改一个测试会员的邮箱,改为真实邮箱:

然后再跟第一篇最后一个演示一样,使用这个会员帐号请求一次密码,然后打开邮箱,就会看到收到的邮件:

 会员只要点击那超链接,将导向重置密码的视图。现在我们需要写重置密码的功能,先创建一个存储过程:

先是判断此token是否存在或是是否过期,如果没有,以token找到帐号与邮箱。然后更新密码,最后是删除ChangeRequestPassword记录。过期的均删除,修改密码成功的也删除。
在Entities目录下,创建一个SecurityEntity.cs:
修改控制器MemberController.cs添加一个ActionResult和一个JsonResult:

创建ResetPassword视图:

演示一下,更改密码:

转载地址:http://rienl.baihongyu.com/

你可能感兴趣的文章
Apache编译和rpm安装,统计appche站点IP访问量脚本
查看>>
微信企业号开发:开启回调模式/Python判断信息--回复指定内容
查看>>
在windows本地使用eclipse操作hadoopHDFS客户端,进行文件的上传下载测试
查看>>
linux 开放mysql远程访问权限
查看>>
离职感想,写在2013年12月07日。
查看>>
sh变量特性(2)
查看>>
爱之初体验 ----- React Native
查看>>
SYSMAN和DBSNMP用户密码修改方式【简】
查看>>
Microsoft word 2010 --保护文档
查看>>
《javascript高级程序设计》学习记录(四)
查看>>
自己动手提取jdk
查看>>
18.绝对路径和相对路径
查看>>
我的友情链接
查看>>
分布式服务框架 Zookeeper -- 管理分布式环境中的数据
查看>>
sqlplus中对缓冲区内容操作事例讲解
查看>>
JQuery ajax方法及参数
查看>>
JAVA中的“抽象接口”
查看>>
chrome stylish扩展,论坛代码
查看>>
服务器报错邮件发送错误日志
查看>>
Android中处理崩溃异常
查看>>