MVC与单元测试实践之健身网站(五)-系统信息、前台入口
Fit项目停滞了一段时间,现在继续吧。上一篇完成了动作文本和配图的添加、编辑等内容。接下来要完成的是后台的最后一个模块:系统信息;以及前台的入口:关于注册、登录、修改密码等。
一 系统信息
a) 用户信息
用户信息界面可以查看前台用户的注册、使用情况。
b) 操作记录
对后台管理员进行的操作做了记录,然后可以在该界面查看。
记录的是对各个菜单的增删改查操作,在权限管理AuthorizaFilter中判断权限的同时记录操作内容。所以记录的内容便直接使用权限的名称了。
二 前台登录
a) 注册
注册需要提供的信息有用户名和邮箱,后续使用邮箱作为登录账号,并会通过邮件来进行验证操作(没有短信验证)。这个表单被提交时,会首先判断邮件是否已经被注册,注册成功后,还需要激活,点击注册邮箱收到的激活链接,会根据ID和激活码来尝试激活。
localhost,哄着自己玩哈哈。但激活域名保存在数据库,以后可以方便地修改。
这块还遇到个关于AutoFac的奇怪问题,IUserService本来用得好好地,但添加了几个方法后突然无法解析了,找了半天原因未果后,为UserController单独配置了一个解析规则,然后就好了,之后把单独的规则去掉,IUserService又能正常解析了,不知道这是什么原因。
b) 忘记密码
忘记密码时首先输入邮箱,验证邮箱是否注册过,如果时则发送一份包含验证码的确认邮件。
邮件验证通过后,可以重置密码。这里还是要注意保证每个步骤之间的衔接,尤其要防止用户跳过验证直接访问重置密码界面。
这儿还体会到一个关于return View()与return Redirect()的区别,return View()返回的仍然是当前Action的视图,没有重定向,浏览器地址栏显示的仍然是当前的Action
另外还有关于TempData的使用,TempData只能在第一次请求中读取,然后在一次请求中可以多次使用。
c) 登录
登录的实现与后台的登录一致,根据Email和密码检查,校验方法的返回值类型为long?,如果登录成功,则返回对应的ID,否则返回空。
这样登录、注册、修改密码的闭环就形成了。
MVC与单元测试实践之健身网站(五)-系统信息、前台入口的更多相关文章
- MVC与单元测试实践之健身网站(一)-项目概述
前不久刚刚通过租房网站的开发学习了MVC,并随后学习了单元测试相关的基础,现在开始健身网站的开发,该项目将结合MVC与单元测试,在开发实践过程中,趁热打铁,巩固并运用之前的内容. 一 健身网站功能描述 ...
- MVC与单元测试实践之健身网站(完)-备案与部署
主页-http://www.zhixin9001.cn/Home/Introduce GitHub- https://github.com/zhixin9001/Fitness 这是关于Fit网站的最 ...
- MVC与单元测试实践之健身网站(四)-动作管理
网站后台负责进行动作的管理,包括动作名称.介绍.训练要点.配图等内容,以便前台能够使用这些内容.在上一篇< Fit项目图片上传和云存储的调通>中已经准备好了这里涉及到的主要技术难点,现在就 ...
- MVC与单元测试实践之健身网站(六)-计划的添加与重置
健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...
- MVC与单元测试实践之健身网站(二)-管理员模块
开始动手做这个项目时,发现无法做到完全的先设计.再编码,于是决定分模块进行,从管理员模块开始设计.编码,而且接口就已经改了好几次了. 管理员模块涉及的功能有登录和后台对管理员的维护,其中也涉及前端的开 ...
- MVC与单元测试实践之健身网站(八)-统计分析
统计分析模块与之前的内容相对独立,用于记录并跟踪各部位围度的变化.还需提供对所作计划的分析,辅助使计划更合理. 一 围度记录 这儿可以记录各项身体围度指标,现在包括体重在内身体上上下下基本全部提供了 ...
- MVC与单元测试实践之健身网站(七)-日程与打卡
上一篇完成了计划的制定,然后需要把计划转换为日程,在日历视图上直观地显示,与日程相对应的还有完成日程内容后的打卡动作. 一 日程视图 a) 要把循环的计划铺开成为日程,日程的显示用日历视图是最合适的. ...
- MVC与单元测试实践之健身网站(七)-添加计划
计划的制定涉及到周期-动作包-动作的关联操作,在上一篇<计划的添加与重置>完成了周期的设置.动作包的添加,现在要完成的是动作的添加操作. 一 具体功能 a) 在选定了一个大周期具有的天数 ...
- MVC与单元测试实践之健身网站(三)-角色与权限
管理员的维护功能完成后,还有权限和角色,三者构成权限系统.这里采用的RBAC是最经典.最简单的一种,权限-角色-管理员只能层层传递,并不能直接为管理员分配权限. 一 权限.角色管理 a) 权限 之前编 ...
随机推荐
- 用redux-thunk异步获取数据
概述 最近学习redux,打算用redux-thunk给todo添加异步获取数据组件.记录下来,供以后开发时参考,相信对其他人也有用. 注意: 在todo下方,我异步获取我的react博客的标题,点击 ...
- Swift5 语言指南(十三) 方法
方法是与特定类型相关联的函数.类,结构和枚举都可以定义实例方法,这些方法封装了用于处理给定类型的实例的特定任务和功能.类,结构和枚举也可以定义类型方法,它们与类型本身相关联.类型方法类似于Object ...
- Linux学习笔记之十二————vim编辑器的分屏操作
一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...
- 在mpvue中使用map如何避坑
最近在做一个需求,当用户放大地图到某个级别时,自动显示marker的callout标签,当小于这个缩放级别时,则隐藏callout.然而在我实现的过程中,却发现一个严重的问题:当我操作marker数据 ...
- window傻瓜式安装tensorflow
最近学习一下,比较热门的深度学习. 本人英文差,记性差,什么都差,哈哈. 折腾过ub安装,虽然成功,但是总是觉得不好用. 发现tenorflow已经可以很傻瓜的在windows下安装了....... ...
- 构建Docker Compose服务堆栈
1.安装了docker-compose,现在我们要使用docker-compose来运行容器栈.这个地方会有两个容器,一个容器中使用Flask搭建的简单应用,另一个容器是Redis,Flash会向re ...
- rabbitMQ和对应的erlang版本匹配
来源自https://www.rabbitmq.com/which-erlang.html erlang安装包下载地址 https://packages.erlang-solutions.com/er ...
- 记录线上与本地docker镜像一致,但Dockerfile却构建失败的问题
背景 公司新开了某个项目,我在新的服务器部署了docker环境,本着ctrl+c 和ctrl+v的惯例,直接把以前的php环境的Dockerfile文件直接复制到新项目服务器那里,结果构建失败,失败的 ...
- leetcode — integer-to-roman
/** * Source : https://oj.leetcode.com/problems/integer-to-roman/ * * Created by lverpeng on 2017/7/ ...
- MRTG在Windows平台的安装及使用
MRTG (Multi Router Traffic Grapher)是一款监控网络流量负载的免费软件,目前利用MRTG已经开发出了各式各样的统计系统: 1.系统资源负载统计,例如:磁盘空间.CPU负 ...