MVC与单元测试实践之健身网站(五)-系统信息、前台入口

Fit项目停滞了一段时间,现在继续吧。上一篇完成了动作文本和配图的添加、编辑等内容。接下来要完成的是后台的最后一个模块:系统信息;以及前台的入口:关于注册、登录、修改密码等。

 

一 系统信息

a) 用户信息

用户信息界面可以查看前台用户的注册、使用情况。

MVC与单元测试实践之健身网站(五)-系统信息、前台入口

 

b) 操作记录

对后台管理员进行的操作做了记录,然后可以在该界面查看。

MVC与单元测试实践之健身网站(五)-系统信息、前台入口

记录的是对各个菜单的增删改查操作,在权限管理AuthorizaFilter中判断权限的同时记录操作内容。所以记录的内容便直接使用权限的名称了。

 

二 前台登录

a) 注册

MVC与单元测试实践之健身网站(五)-系统信息、前台入口


注册需要提供的信息有用户名和邮箱,后续使用邮箱作为登录账号,并会通过邮件来进行验证操作(没有短信验证)。这个表单被提交时,会首先判断邮件是否已经被注册,注册成功后,还需要**,点击注册邮箱收到的**链接,会根据ID和**码来尝试**。

MVC与单元测试实践之健身网站(五)-系统信息、前台入口

localhost,哄着自己玩哈哈。但**域名保存在数据库,以后可以方便地修改。

这块还遇到个关于AutoFac的奇怪问题,IUserService本来用得好好地,但添加了几个方法后突然无法解析了,找了半天原因未果后,为UserController单独配置了一个解析规则,然后就好了,之后把单独的规则去掉,IUserService又能正常解析了,不知道这是什么原因。

      

b) 忘记密码

忘记密码时首先输入邮箱,验证邮箱是否注册过,如果时则发送一份包含验证码的确认邮件。

MVC与单元测试实践之健身网站(五)-系统信息、前台入口

MVC与单元测试实践之健身网站(五)-系统信息、前台入口

邮件验证通过后,可以重置密码。这里还是要注意保证每个步骤之间的衔接,尤其要防止用户跳过验证直接访问重置密码界面。

这儿还体会到一个关于return View()与return Redirect()的区别,return View()返回的仍然是当前Action的视图,没有重定向,浏览器地址栏显示的仍然是当前的Action

另外还有关于TempData的使用,TempData只能在第一次请求中读取,然后在一次请求中可以多次使用。

 

c) 登录

登录的实现与后台的登录一致,根据Email和密码检查,校验方法的返回值类型为long?,如果登录成功,则返回对应的ID,否则返回空。

 

这样登录、注册、修改密码的闭环就形成了。