其他分享
首页 > 其他分享> > 单点登录用户注册Service层、单点登录用户注册Controller层实现及测试、单点登录用户登录流程分析及用户登录Service层、单点登录用户登录Controller层及测试

单点登录用户注册Service层、单点登录用户注册Controller层实现及测试、单点登录用户登录流程分析及用户登录Service层、单点登录用户登录Controller层及测试

作者:互联网

单点登录用户注册–Service层

首先我们还是看关于单点登录手册中关于注册的说明,如下图所示。请求方式是POST类型,URL为我们明确指定好了,参数有四个,需要校验完合法性之后再提交。
在这里插入图片描述
下面我们先在taotao-sso-interface工程添加注册接口,
下面实现接口, UserServiceImpl.java类所有代码

单点登录用户注册Controller层实现及测试

上节课我们一起学习了用户注册Service层的实现,这节课我们实现Controller层并且测试接口是否好用。
在taotao-sso-web工程的UserController类添加如下图所示标注的代码。

添加的代码如下(GET请求不需要在RequestMapping中指定,但是POST就需要指定):

现在我们来测试下这个接口是否好使,由于我们修改过taotao-sso-interface和taotao-sso-service,因此我们重新把taotao-sso进行打包到本地Maven仓库。

下面我们启动taotao-sso工程以及taotao-sso-web工程,启动好之后,我们使用测试工具来测试POST请求(地址栏是不能模拟POST请求的),POST请求是要带参数的,参数的名称必须与下图tb_user表中圈住的四个字段一样。
测试工具:postman
我们在URL一栏输入http://localhost:8088/user/register,类型选择POST
我们点击"Body"一栏,点击下拉框会出现下拉菜单让我选择,我们选择"String body"。选择String body后如下图所示,默认的content-type是"text/plain",我们要把它改成表单类型。 我们按照如下图所示更改content-type类型

下面我们添加参数,如下图所示,添加四个参数。
下面发送请求,如下图所示,可以看到返回的提示是用户名重复了。
其实我们输入的四个参数都是在数据库中存在的,除了密码,其它三个都会报不能重复的错误,要想不报错,我们要把用户名、电话、邮箱三个个参数都修改下,改成数据库中不存在的数据。如下图所示。可以看到返回的状态码是200,说明成功了。
我们可以到数据库查看一下,发现数据库中已经有新注册用户的信息了。
在这里插入图片描述
在这里插入图片描述

单点登录用户登录流程分析及用户登录Service层

我们先来看下登录流程图,如下图所示。

用户登录涉及到三个部分,第一部分是淘淘商城前台工程,第二部分是单点登录服务,第三部分是Redis服务。具体流程下图已经说的很明白了,我就不再啰嗦一遍了,相比于传统的登录,我们没有把用户登录信息存在session当中,而是存放到了Redis当中。
在这里插入图片描述
下面我们来实现服务端登录业务

首先是在UserService接口类中添加登录接口

下面我们到UserServiceImpl类来实现添加的登录接口

login接口中用到了配置文件
这样我们的Service层代码便写完了。

单点登录用户登录–Controller层及测试

在这里插入图片描述
我们需要把token保存到cookie当中,为了方便的操作cookie,我们特意封装了一个工具类,由于该工具类有可能被多个服务使用,因此我们最好把该工具类放到utils。

可以看到当前引入是有错误的,要解决这个问题就要在taotao-common工程添加对servlet-api的依赖,添加完依赖之后CookieUtils.java就不报错了

下面我们在UserController类添加login接口
login接口中用到了配置文件,配置文件

下面我们来测试,由于在taotao-common中添加了工具类,因此需要重新打包taotao-common工程到本地maven仓库,由于在taotao-sso-interface添加了接口,因此我们需要把taotao-sso工程重新打包到本地maven仓库。

在启动工程前要保证zookeeper和redis服务器处于启动状态!!!

redis服务器的IP及端口要与jedis配置文件一致

打包完后,我们启动taotao-sso工程和taotao-sso-web工程,启动之后,我们还是使用RestClient3.5来测试。我们修改下URL地址将/user/register修改为/user/login,然后点击下面那个圈住的图标。
在这里插入图片描述
点击执行按钮,可以看到返回的结果状态码是200,data中存放的是token的值。说明登录成功了,同时也说明我们的登录接口正确。
登录成功了,我们利用redis-desktop-manager工具来查看token是否已经被保存起来了
在这里插入图片描述

标签:单点,登录,用户注册,sso,添加,taotao,我们
来源: https://blog.csdn.net/AthlenaA/article/details/100528170