單點登錄用戶註冊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是否已經被保存起來了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章