【学习笔记】seckill-秒杀项目--(4)登录功能总结及优化

一、总结

1、登录功能

实现两次MD5加密。

  • 用户端:Pass = MD5(明文+固定salt)
  • 服务端:Pass = MD5(用户输入+随机salt)

用户端MD5加密是为了防止用户密码在网络中明文传输,服务端MD5加密是为了提高密码安全性,双重保险。
使用了最简单的从controller 到 service 到数据库的框架。

2、参数校验

发现参数校验比较麻烦。所以引进了validation组件。自定义了手机号码的验证规则。
校验后可以抛异常,但是无法在前端页面进行异常状态显示,只是在后端控制台展示。

3、异常处理

为了在前端页面进行显示,添加了全局异常处理类。

  • 使用@ControllerAdvice@ExceptionHandler注解(使用)
  • 使用ErrorController类来实现

4、分布式Session

如果只是单应用,就没有问题。但后来肯定要做成分布式的,就会遇到分布式session的问题。
解决分布式session的问题有两种解决方法:spring session、redis存储用户信息。

5、优化

最后每一个接口都需要做用户校验,比较麻烦。
于是加上自定义的参数校验,来定义用户参数,通过这个参数之后,在controller入参之前就做好了参数校验,判断cookie是否为空,非空的话就获取用户信息,最后传到对应的controller里面去。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值