Java 登录模块设计

登录流程

  • 前端登录传输用户名和md5加密后的密码
  • 后端对密码在进行md5加密,或者使用md5加密的密码 + id 进行盐加密,增加密码被破解的难度。
  • 登录成功后,这里分成单体,或者分布式的情况
    • 单体
      • 单体比较简单,登录成功后,在后端在 session 里面 setAttribute 存入用户信息。
      • 后续登录在拦截器获取session ,查询session。
    • 服务器集群、服务器分布式
      • 存在 session 共享的问题。使用 jwt 解决问题,使用ip,用户信息生成 token 值,返回给前端。
      • 在登录拦截器,解析每次传过来的token,匹配ip 和用户信息,用户信息与数据库校验。但是都查数据库,会增加数据库压力,所以也可以把 token 存入redis里面,解析后用户信息和 redis 里的token 信息检验。

有选择性使用验证登录信息

  • 对于http请求来说,有的请求需要登录后才能访问,有的不需要登录后就能直接访问,这里使用注解的方式,在需要登录才能访问的接口使用自定义注解 @login,注解在类或方法上。当客户端请求后端接口,如果类或方法上没有login注解,则不会坐用户信息校验。

总结

前端密码使用 md5 密码传输到后端,后端对密码进行盐加密。针对分布式服务,或者集群服务,使用jwt生成token,进行后续数据校验,后续数据校验一般使用拦截器校验。针对不是所有接口都需数据校验,在需要登录后才能访问的接口,在类上添加login注解,没有添加注解的类不进行数据校验。

代码示例

github 登录源码
github 拦截拦截器源码

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!

2. 分享目的仅供大家学习和交流,请不要用于商业用途!

3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!

4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!

5. 如有链接无法下载、失效或广告,请点击后面字体→到投诉版块区举报,可领回失去的金币,并额外有奖!

6. 如遇到加密压缩包,默认解压密码为"www.ziyuanc.com",如遇到无法解压的请联系管理员!


资源之家 » Java 登录模块设计

13 评论

  1. s most Popular Assets. Start Trading Now with Our Free Demo Account. Online Trading and Investment Platform

发表评论

  • 117会员总数(位)
  • 6908资源总数(个)
  • 0本周发布(个)
  • 0 今日发布(个)
  • 541稳定运行(天)

提供最优质的资源集合

立即查看 了解详情