用户登录的详细流程

2023-05-09 01:37:04

 

**

## 用户登录的详细流程

**

**

## 1.流程概述

**

(1)首先在进行用户登录的时候,要进行一些必要的准备工作。

比如说要对用户登录表进行设计。

一般是userId,userName,phone,password,salt,remark等等。

通常数据库存储的密码是md5进行加密的密文,但也不能直接对登录密码进行md5加密,然后存在数据库中。这样的密文用浏览器上的解密工具很容易就被破解了。一般是用加密盐salt和用户的密码一起加密,而这个salt本质上是随机数。

同样也需要设置加密规则,是怎么加密,是密码+salt一起加密,还是其他的加密方法。

加密方法1(hutool工具包里面的util中secureUtil类中方法)

```java

String md5Password = SecureUtil.md5(data);//data就是进行加密的数据

```

加密方法2(使用Spingframework自带的DigestUtils)

```java

String pwd= DigestUtils.md5DigestAsHex(user.password.getBytes())//user.password 就是对应的需要加密的密码

```

加密方法3(使用commons-code中digest包中的DigestUtils类的方法)

```java

String pwd= DigestUtils.md5Hex(data)//data是需要加密的密码

```

可以选择以上三个代码结合加密规则进行密码的md5加密。

然后把已经多次加密的密码存入数据库中。

(2)用户输入密码登录

可以直接把密码明文传入后台,然后按照加密的规则进行加密,然后和数据库的密码进行比较。

也可以让前端按照加密规则对明文直接加密好,后台直接把接收的数据和数据库进行对比。

(3)通过token令牌进行验证

如果对比密码是正确的,后台返回token(使用jwtUtil进行设置,token里面包含用户主键比如userid或者其他的)

然后前端把token存储起来,每次向前端请求数据必须带着token,然后后端根据带来的token进行对比和时效校验,如果正确在把数据返回。

**

## 2.总结

**

token的设置各种各样,而且后端的token校验也比较复杂,同时因为登录的用户权限不一致,还需要使用拦截器对请求进行拦截,进一步保证数据安全。关于这三块,等我具体了解清楚在进行记录。


以上就是关于《用户登录的详细流程》的全部内容,本文网址:https://www.7ca.cn/baike/28609.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜