单点登录用户注册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