html登陆注册功能实现,实现用户的登录注册功能
在基于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登陆注册功能实现,实现用户的登录注册功能相关推荐
- php做异地登录验证,PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
本文实例讲述了PHP实现用户异地登录提醒功能的方法.分享给大家供大家参考,具体如下: 对于安全性要求比较高的web网站,特别是后台管理,有时候需要甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进 ...
- 新增公告提示功能,支持用户异地登录提醒和授权过期通知,JumpServer堡垒机v2.15.0发布
11月1日,JumpServer开源堡垒机正式发布v2.15.0版本.在这一版本中,JumpServer新增公告提示功能,管理员可以根据不同的场景向所有用户实时发布重要通知:用户登录方面,新版本支持用 ...
- python做一个登录注册界面_Python 实现简单的登录注册界面
Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...
- MVC框架实现用户的登录注册功能
MVC是什么? MVC,全称model view controller-模型,视图,控制器 model是将数据库中的表到Java中变成实体类 view是编写JSP页面 controller是用来业务逻 ...
- android如何实现用户注册功能,Android 实现简单的登录注册功能(SharedPreferences和SQLite)...
最近恰好作了一个Android的登陆注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登录注册功能,本文未涉及到与服务器的交流.java 首先 ...
- 用户中心登录注册整理
登录: 登录方式 实现逻辑 手机动态密码登录 调用服务层的loginBusiness的动态登录服务 先检验是否超过限制的登录次数 初始化登录事件loginevent 检查用户是否被禁止登录 调用接口给 ...
- java 自动登录功能_jsp实现用户自动登录功能
理解并掌握cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果 当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息.通过设置cookie的有效 ...
- python实现用户登录注册界面_实现前后端登录注册界面
本篇博客讲解如何实现前后端的简单登录注册界面,后端代码由node.js实现,主要阐述登录注册时网页工作原理.感兴趣的同学可以参考一下. 注册界面 功能: 判断用户是否输入邮箱,密码,验证密码(前端判断 ...
- Javawebservlet+Mysql实现的化妆品售卖系统(功能包含分角色,登录/注册、化妆品列表/商品详情/加入购物车/订单结算付款/地址管理/后台权限管理/商品管理/订单列表等)
博客目录 Javawebservlet+Mysql实现的化妆品售卖系统 实现功能截图 系统功能 使用技术 代码 完整源码 Javawebservlet+Mysql实现的化妆品售卖系统 本系统为了解决化 ...
最新文章
- 如何启用计算机上的无线网络连接,告诉大家win10无线网络连接如何打开
- micronet 测试
- sqoop mysql where_Sqoop基本语法简介
- Hadoop: MapReduce2的几个基本示例
- 利用云功能和API监视Google表格中的Cloud Dataprep作业状态
- π里包含了所有可能的数字组合吗?
- 经典面试题之 TCP三次握手 和 TCP四次挥手过程----详解
- [HttpPost] vs [AcceptVerbs(HttpVerbs.Post)]
- 图片懒加载、ajax异步调用数据、lazyload插件的使用
- php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
- 好久没弄网站多皮肤了
- Struts2之国际化
- VirtualBox一类系统只能出现一个?
- 教程 ios 4 以上安装mobile terminal的最简单方法
- 基于Python实现的网上购书功能的网站后端
- 英语发音规则之26个字母发音规则(A字母)
- 论文解读:Cycle ISP Real Image Restoration via Improved Data Synthesis
- 最全量子计算硬件概述(建议收藏)
- 华为M-LAG跨设备链路聚合技术理论讲解
- 十六、Barrier类(*)