在基于Spring Boot框架上,实现用户的登录注册功能,

首先分析前期所需要的规划。

1 实现登录注册

前端向后端发起post请求

2用户密码安全性

密码是不推荐明文入库的,在后台采取秘钥加加不可逆加密方式进行加密后再存入数据库

3 登录状态的保存

http是无状态的协议,要实现用户登录状态的保存可以通过,cookie和session,进行验证。

4 防止cookie被盗

cookie内采用token和ip地址结合MD5加密的随机序列。

5密码找回功能

可以通过唯一标识用户的手机号和邮箱,发送验证链接,这个链接地址为了安全起见要加入时间戳和唯一随机数来保证这个链接只在某个时间内有效,

过期过着密码已经重置,则删除这个唯一的随机数

6防止恶意攻击

最有效的方式就是加入验证码,如果用户和某个ip在一段时间时间内频繁失败登录超过阈值次数,则限制在几分钟内无法登陆。

其次在实现上

由于http是无状态的协议,我们需要通过cookie和session来进行验证,具体是实现是,浏览器向服务器初次发送登录注册请求

的时候回输入登录名和密码,这时候,服务器会生成一个token保存在数据库中,并写入cookie中,然后服务器生成一个session,

session中包含着用户的信息。浏览器每次发送请求的时候都会携带cookie,服务器通过cookie里的token来验证用户,通过验证则放行。

登录: 1 用户登录时验证用户名和密码

2生成token保存在数据库中,将token写入cookie

3将用户数据保存在session中

4 请求时都带这cookie,验证

单点登录问题

对于多个系统拥有多个不同的tomcat容器,不同的tomact容器中的session是不共享的。session不共享问题有以下的解决方案

1 实现tomact集群的session全局共享(集群内内个Tomcat的session都完全同步) 这样会影响集群的性能不推荐使用

2根据请求的ip进行hash映射,请求ip会一直访问同一个节点,不推荐,这个节点宕机会丢失数据

3将session存放在redis中(使用redis模拟session)推荐

还可将登陆功能单独独立出来,作为一个sso单点登录系统,其他子系统进行登陆时,请求sso进行验证,sso将返回token写入cookie中。下次访问时带上cookie。

1 sso生成token,将用户信息写入Redis中,并设置过期时间

2 其他系统请求sso系统,得到sso系统生成的token写入到cookie中

3 每次请求 都会带上cookie,拦截器,拦截到token,验证是否已经登陆。

以上,将登录注册作为一个单独的系统,将用户的信息保存在Redis中

cookie跨域问题

认证中心

reference:https://blog.csdn.net/WantFlyDaCheng/article/details/100078610

原文:https://www.cnblogs.com/bowenqianngzhibushiwo/p/11576480.html

html登陆注册功能实现,实现用户的登录注册功能相关推荐

  1. php做异地登录验证,PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】

    本文实例讲述了PHP实现用户异地登录提醒功能的方法.分享给大家供大家参考,具体如下: 对于安全性要求比较高的web网站,特别是后台管理,有时候需要甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进 ...

  2. 新增公告提示功能,支持用户异地登录提醒和授权过期通知,JumpServer堡垒机v2.15.0发布

    11月1日,JumpServer开源堡垒机正式发布v2.15.0版本.在这一版本中,JumpServer新增公告提示功能,管理员可以根据不同的场景向所有用户实时发布重要通知:用户登录方面,新版本支持用 ...

  3. python做一个登录注册界面_Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  4. MVC框架实现用户的登录注册功能

    MVC是什么? MVC,全称model view controller-模型,视图,控制器 model是将数据库中的表到Java中变成实体类 view是编写JSP页面 controller是用来业务逻 ...

  5. android如何实现用户注册功能,Android 实现简单的登录注册功能(SharedPreferences和SQLite)...

    最近恰好作了一个Android的登陆注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登录注册功能,本文未涉及到与服务器的交流.java 首先 ...

  6. 用户中心登录注册整理

    登录: 登录方式 实现逻辑 手机动态密码登录 调用服务层的loginBusiness的动态登录服务 先检验是否超过限制的登录次数 初始化登录事件loginevent 检查用户是否被禁止登录 调用接口给 ...

  7. java 自动登录功能_jsp实现用户自动登录功能

    理解并掌握cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果 当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息.通过设置cookie的有效 ...

  8. python实现用户登录注册界面_实现前后端登录注册界面

    本篇博客讲解如何实现前后端的简单登录注册界面,后端代码由node.js实现,主要阐述登录注册时网页工作原理.感兴趣的同学可以参考一下. 注册界面 功能: 判断用户是否输入邮箱,密码,验证密码(前端判断 ...

  9. Javawebservlet+Mysql实现的化妆品售卖系统(功能包含分角色,登录/注册、化妆品列表/商品详情/加入购物车/订单结算付款/地址管理/后台权限管理/商品管理/订单列表等)

    博客目录 Javawebservlet+Mysql实现的化妆品售卖系统 实现功能截图 系统功能 使用技术 代码 完整源码 Javawebservlet+Mysql实现的化妆品售卖系统 本系统为了解决化 ...

最新文章

  1. 如何启用计算机上的无线网络连接,告诉大家win10无线网络连接如何打开
  2. micronet 测试
  3. sqoop mysql where_Sqoop基本语法简介
  4. Hadoop: MapReduce2的几个基本示例
  5. 利用云功能和API监视Google表格中的Cloud Dataprep作业状态
  6. π里包含了所有可能的数字组合吗?
  7. 经典面试题之 TCP三次握手 和 TCP四次挥手过程----详解
  8. [HttpPost] vs [AcceptVerbs(HttpVerbs.Post)]
  9. 图片懒加载、ajax异步调用数据、lazyload插件的使用
  10. php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
  11. 好久没弄网站多皮肤了
  12. Struts2之国际化
  13. VirtualBox一类系统只能出现一个?
  14. 教程 ios 4 以上安装mobile terminal的最简单方法
  15. 基于Python实现的网上购书功能的网站后端
  16. 英语发音规则之26个字母发音规则(A字母)
  17. 论文解读:Cycle ISP Real Image Restoration via Improved Data Synthesis
  18. 最全量子计算硬件概述(建议收藏)
  19. 华为M-LAG跨设备链路聚合技术理论讲解
  20. 十六、Barrier类(*)

热门文章

  1. Vue中href属性动态拼接
  2. sprd bootloader 分析流程
  3. 微型计算机延时,延迟时间
  4. 与繁重的工作一起修行
  5. C语言_malloc动态开辟内存空间
  6. 阿里云服务器购买过程中必须了解的注意事项
  7. oracle日期英文
  8. mobile safari下 overflow:auto无效的解决方法
  9. video 设置 poster,默认显示视频第一帧
  10. python从入门到实践十二章