常见的登录验证方法之token校验+docker安装

本文介绍了编程中用户注册和登录的基本流程,包括手机号验证、密码加密存储以及登录时的token校验机制。同时,提供了CentOS7和Ubuntu上安装Docker的详细步骤,包括添加镜像源、安装和启动Docker服务。
摘要由CSDN通过智能技术生成

   

目录

用户注册

用户登录

登录校验


     学习编程的小伙伴都知道,用户登录是一个大部分程序都需要的功能,其写法也多种多样,但是编程思路基本是类似的,今天我们就来介绍其中一种常见的写法,希望初入编程的小伙伴能有所获。

        说到校验,那肯定要先有用户注册和登录

用户注册

        将用户的账号,密码insert进数据库,注意,一般密码会采用加密存储,且不允许逆向解析如:MD5。

        用户注册时可能需要手机号校验验证码,我们一般的思路如下:

1.前端校验手机号格式,通过再调后端发送短信验证码的接口

2.后端最好也加校验,因为前端的校验是可以掠过的,防止不必要的安全问题

3.前端输入手机号,调后端接口校验,判断手机号是否存在,一般异步获取,手机号未注册进入下一步。

4.后端接收到前端手机号生成随机验证码(这个随机数自己写方法生成),存入redis中,手机号为key,验证码为value。同时发送短信到用户手机,这里发短信一般是买短信服务商的短信服务,具体写法建议看对应的官方文档。

5.用户输入验证码进行校验,后端用请求参数中的手机号去redis中拿到验证码,和前端输入的验证码进行比较,相同则通过校验,后进行用户注册操作。

用户登录

        用户输入账号,密码进行登录,这里比较简单,不过多赘述,前后端都要校验对应格式,查询用户是否存在,判断密码是否正确,账号是启用,还是停用,然后更新用户表的登录信息,生成一个随机的token,将用户信息存到redis,key为token,value为用户信息,这里存储的东西视业务需求而定,登录成功返回token给前端。

登录校验

        前端拿到了我们后端返回的token,将其存储在缓存(如:local storage)中,每次请求在请求头带上token,后端校验就是用token去redis中拿值,如果拿到了,就表示校验通过,允许访问对应接口。

        可能不是所有接口都需要登录才能访问,所以需要配置过滤规则,不同语言不同框架的写法可能不同,但其底层的逻辑归根结底就是一个判断,判断访问的接口是否在白名单中,在就不校验,不在就校验是否登录。

        那么是如何设置白名单的呢,很多框架都是有固定写法的,会用就行,这里说说自己写的时候怎么写:先获取请求的全路径,可以是整个前端发送的url,随便是什么,简单处理一下,保留接口的全路径,一般是 /admin/user/userList 这种,以 '/' 为分割符号,转化为数组,获取到最后的userList,比较userList是否存在于白名单中,存在就不需要校验。

以上就是请求头带token的整体编程思路

## CentOS7 安装 Docker

1. 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖 

yum install -y yum-utils device-mapper-persistent-data lvm2

2. 添加下载源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. 查看可以安装的版本

yum list docker-ce --showduplicates | sort -r

4. yum -y install docker-ce-20.10.7

5. 启动 Docker 并设置开机自启

systemctl start docker(启动)
systemctl enable docker(开机启动)

## Ubuntu 安装 Docker

1. 安装

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2. 启动 Docker

sudo systemctl enable docker
sudo systemctl start docker

确认 Docker 是否安装成功:

docker run --name nginx1 -d -p 8080:80 nginx

执行完成后,打开浏览器,如果能访问到 nginx,就表示装好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海上生日朋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值