1. 程式人生 > >React-router(10)登入攔截

React-router(10)登入攔截

10、登入攔截

參考 8.needLogin.js

登入攔截說起來比較高大上,其實很簡單。

需要元件:

  1. 登入功能元件;
  2. 受保護元件(需要登入後才能訪問);
  3. 受保護元件的父元件(可選,如果 1 和 2 不是同一個路徑,則需要,否則可以不需要)(用於進入受保護元件之前,檢查登入資訊,不符合要求則跳轉到登入元件);

邏輯:(有父元件,登入和受保護元件不是同一個路徑)

  1. 嘗試訪問受保護元件;
  2. 首先進入父元件,檢查儲存登入資訊的物件,確認當前是否登入;
  3. 如果已登入,則允許訪問受保護元件;
  4. 如果未登入,則觸發重定向,進入登入元件;
  5. 登入元件輸入資訊,嘗試登入;
  6. 輸入資訊符合要求後(不符合則報錯),將資訊寫入儲存登入資訊的物件,並跳轉到受保護元件的路徑;
  7. 登入後,如果需要登出,則清除登入資訊,並再次進行頁面跳轉;

比較核心的就是幾點:

  1. 進入受保護頁面時,需要先檢查一下登入資訊;
  2. 登入和登出時,除了寫入和清除登入資訊之外,還需要進行一次路徑跳轉(登入 -> 受保護頁面,受保護頁面 -> 未登入時的預設頁面)(如何重定向參照【10】);

相關推薦

React-router10登入攔截

10、登入攔截 參考 8.needLogin.js 登入攔截說起來比較高大上,其實很簡單。 需要元件: 登入功能元件; 受保護元件(需要登入後才能訪問); 受保護元件的父元件(可選

myBatis學習筆記10——使用攔截器實現分頁查詢

條件 iba execute rri itl alias property gen func 1. Page package com.sm.model; import java.util.List; public class Page<T&g

React-router8Link 標籤 to 屬性為物件時路由資訊傳值

8、Link 標籤 to 屬性為物件時(路由資訊傳值) 參考 6.routeInfo.js 在元件裡,每個元件的路由資料,都是各自獨立的。 在之前分析中,已知: match 屬性的值,儲存的是該 Route 標籤的路由; location

React-router5params 路由傳參

5、引數 參考 4.params.js React路由取引數,有兩種: ?a=1 :這種屬於 search 字串,在 location.search 裡取值; /a/123 :這種需

React-router11路由配置

11、路由配置 參考 9.routeConfigTable.js 簡單來說,就是有一個物件,如下: const RouteConfig = [ { path: 'first', component:

react-router不同組件之間傳遞路由

react router 不同組件 圖解: 代碼: // less require (‘./static/less/index.less‘) // 核心 var React = require(‘react‘) var ReactDom = require(‘react-dom‘) var Rea

Spring Security教程10---- 自定義登入成功後的處理程式及修改預設驗證地址

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

OKHttp 3.10原始碼解析攔截器鏈

本篇文章我們主要來講解OKhttp的攔截器鏈,攔截器是OKhttp的主要特色之一,通過攔截器鏈,我們可以對request或response資料進行相關處理,我們也可以自定義攔截器interceptor。 上一篇文章中我們講到,不管是OKhttp的同步請求還是非同步請求,都會呼叫RealCal

react-native 在新版Xcode10+中執行出現的問題: node_modules/react-native/third-party/glog-0.3.4 , C compiler ca

解決方法是: github 問題地址  https://github.com/facebook/react-native/issues/19774 I had the same issue bu

SpringMVC總結之攔截器Interceptor例:登入攔截

目錄   1.前言 2.HandleInterceptor介面 3.攔截器實現使用者登入攔截 1.前言 使用攔截器,主要是為了攔截使用者的請求並進行相應的處理,比如通過攔截器進行使用者登入驗證,使用者許可權驗證等;SpringMVC中的攔截器攔截請求是通過實

IdentityServer410- 新增對外部認證的支援之QQ登入

原文: IdentityServer4(10)- 新增對外部認證的支援之QQ登入 前言 前面我們提到過IdentityServer4是可以新增外部認證的,如果外部認證支援OAuth2,那麼新增到IdentityServer4是非常簡單的,在ASP.NET Core下提供了非常多的外部認證實現,比如Goog

React學習3——Router路由的使用和頁面跳轉

React-Router的中文文件可以參照如下連結:         http://react-guide.github.io/react-router-cn/docs/Introduction.html  &nbs

Spring Security10——退出登入logout

 要實現退出登入的功能我們需要在http元素下定義logout元素,這樣Spring Security將自動為我們新增用於處理退出登入的過濾器LogoutFilter到FilterChain。當我們指定了http元素的auto-config屬性為true時logout定義是

React筆記react-router跳轉傳值

Link 實現路由跳轉 import { Link } from 'react-router'; <Link to={ pathname = '/browser/browserProportion/detail'}> {this.name} &

SpringBoot攔截器--只允許進入登入註冊頁面,沒登入不允許檢視其它頁面

SpringBoot註冊登入(一):User表的設計點選開啟連結SpringBoot註冊登入(二):註冊---驗證碼kaptcha的實現點選開啟連結SpringBoot註冊登入(三):註冊--驗證賬號密碼是否符合格式及後臺完成註冊功能點選開啟連結SpringBoot註冊登入(

從零開始-vue.js2登入介面之vue-router實現頁面的跳轉

基於第一篇的樣式,給按鈕、超連結加上跳轉,用vue-router 實現頁面的跳轉。首先,新增一個可以跳轉的頁面:Home.vue<template> <div> <h1>主頁面</h1>歡迎!<b @click =

ssm 攔截器驗證使用者登入session

public class CommonInterceptor extends HandlerInterceptorAdapter{ private final Logger log = LoggerFactory.getLogger(CommonIntercepto

React躬行記10——高階元件

  高階元件(High Order Component,簡稱HOC)不是一個真的元件,而是一個沒有副作用的純函式,以元件作為引數,返回一個功能增強的新元件,在很多第三方庫(例如Redux、Relay等)中都有高階元件的身影。由於遵循了裝飾者模式的設計思想,因此不會入侵傳遞進來的原元件,而是對其進行抽象、包裝和

SpringBootSecurity學習10網頁版登入之記住我功能

場景 很多登入都有記住我這個功能,在使用者登陸一次以後,系統會記住使用者一段時間,在這段時間,使用者不用反覆登陸就可以使用我們的系統。記住使用者功能的基本原理如下圖: 使用者登入的時候,請求傳送給過濾器UsernamePasswordAuthenticationFilter,當該過濾器認證成功後,會呼叫R

Windows Phone開發10:常用控件

androi chm att size near grid txt idt inf Windows Phone的控件有幾個來源,和傳統的桌面應用程序開發或Web開發一樣,有默認提供的控件和第三方開者發布的控件。一般而言,如果不是過於復雜的界面布局,使用默認控件就足矣。相比之