用戶進入前端登陸界面,輸入帳號密碼等,輸入完成以後前端發送請求到後端(攔截器不會攔截登陸請求),後端驗證帳號密碼等成功以後生成Token並存儲到數據庫,數據庫中包含該Token過時時間,而後返回生成的Token到前端。html
前端收到Token,表示登陸成功,把這個Token存儲到瀏覽器Cookie中。而後跳轉到用戶中心頁面,用戶中心頁面從瀏覽器Cookie中扣出Token,跟隨請求用戶數據接口一塊兒帶到後端。前端
後端經過攔截器攔截到這個請求,去判斷這個Token是否有效,有效就放過去作他該作的事情,無效就拋出異常。java
先說一下這個先後分離的項目,已經配置過跨域這些問題。我這裏後端配置的方式以下:ajax
前端每次發送請求也都有在ajax裏面設置xhrFields:{withCredentials: true}屬性。數據庫
如今的狀況是,若是Token正常就沒問題,若是Token失效了,前端發送的請求就會提示跨域問題,但是該項目已經配置過跨域問題了。既然又提示跨域問題,那咱們修改代碼以下:json
這樣修改以後,若是Token無效,前端發送的請求就不會提示跨域問題。並且也能夠在ajax的success方法中根據錯誤碼(601/602)作不一樣的判斷,代碼以下:後端
下面附上上面代碼中的XjxccException類:跨域