1. 程式人生 > >springSecurity工作流程學習

springSecurity工作流程學習

springSecurity執行流程

整個程式執行的過程如下:


1、容器啟動時
   通過MyInvocationSecurityMetadataSource # loadResourceDefine 載入系統資源與許可權列表resourceMap(一個Map結構,資源[url]為key,許可權[auth]為value )
   
2、WEB伺服器啟動,載入security內建的過濾器鏈,
   HttpSessionContextIntegrationFilter 
   LogoutFilter
   AuthenticationProcessingFilter
   DefaultLoginPageGeneratingFilter
   BasicProcessingFilter
   SecurityContextHolderAwareRequestFilter
   RememberMeProcessingFilter
   AnonymousProcessingFilter
   ExceptionTranslationFilter
   SessionFixationProtectionFilter
   FilterSecurityInterception
 
   自定義過濾器攔截請求 MyFilterSecurityInterceptor ,並設定在FilterSecurityInterception之前攔截。
   給自定義過濾器,注入引數(MyInvocationSecurityMetadataSource,MyAccessDecisionManager,MyUserDetailService)


3、使用者登陸
   通過 AuthenticationManager 對使用者輸入的使用者名稱和密碼,然後根據使用者定義的密碼演算法和鹽值等進行計算並和資料庫比對。
   
4、如果驗證成功 
   通過MyUserDetailsService # loadUserByUsername
   生成UserDetails供Spring Security使用。
   
5、當用戶點選某個功能(URL)時。
   通過MyAccessDecisionManager # decide

   根據URl取得 系統資源與許可權列表 resourceMap 中的許可權集合。與登入使用者的許可權集合進行迴圈對比,如果存在相同許可權,代表使用者具有訪問該資源的權利。


相關推薦

springSecurity工作流程學習

springSecurity執行流程 整個程式執行的過程如下: 1、容器啟動時    通過MyInvocationSecurityMetadataSource # loadResourceDefine 載入系統資源與許可權列表resourceMap(一個Map結構,資源[u

機器學習工作流程第一步:如何用Python做數據準備?

pandas 整數 情況 意思 編程練習 人工智能 簡單的 準備工作 標題 這篇的內容是一系列針對在Python中從零開始運用機器學習能力工作流的輔導第一部分,覆蓋了從小組開始的算法編程和其他相關工具。最終會成為一套手工制成的機器語言工作包。這次的內容會首先從數據準備開始。

工作學習——Activiti流程變量五步曲

eight 作用域 bound ets oca ole ati pat nds 一、前言 上一篇文章我們將流程實例的啟動與查詢,任務的辦理查詢都進行了介紹,我們這篇文章來介紹activiti中的流程變量。 二、正文 流程變量與我們平常理解的變量是

機器學習(二)工作流程與模型調優

發生 較高的 mode lan 包含 因此 增加 絕對值 輸入 上一講中主要描述了機器學習特征工程的基本流程,其內容在這裏:機器學習(一)特征工程的基本流程 本次主要說明如下:   1)數據處理:此部分已經在上一節中詳細討論   2)特征工程:此部分已經在上一節中詳細討論

三大框架(ssh)學習——Struts2工作流程分析

Struts2工作流程分析   STRUTS2框架內部流程 1. 客戶端傳送請求的tomcat伺服器。伺服器接受,將HttpServletRequest傳進來。 2. 請求經過一系列過濾器(如:ActionContextCleanUp、SimeMesh等) 3. Fil

View工作流程-相關學習

學習筆記 一、Android的UI層級繪製體系 Android中的Activity是作為應用程式的載體存在的,它代表一個完整的使用者介面並提供了視窗進行檢視繪製。 在這裡,我們這裡所說的檢視繪製,實質上就是在對View及其子類進行操作。而View作為檢視控制元件的頂層父類,在本文中會對其進行詳細分

SpringMVC的學習(八)——SpringMVC的工作流程及相關配置

一、SpringMVC詳細介紹 Spring Web MVC是一種基於Java的實現了Web MVC設計模式的請求驅動型別的輕量級Web框架,即使用了MVC架構模式的思想,將web層進行職責解耦,基於請求驅動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發,Spring Web MVC

Activiti工作學習筆記入門(四)——流程例項的構建、判斷狀態、歷史流程例項查詢和歷史活動查詢

第一節:構建學生請假審批流程 第二節:執行物件概念 第三節:判斷流程例項狀態 第四節:歷史流程例項查詢 第五節:歷史活動查詢 package com.java1234.activiti.flow; import java.util.List; import or

Activiti工作學習筆記入門(五)——流程變數

package com.java1234.activiti.variable; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; i

Struts2學習之1(Struts2的工作流程,動作類的編寫,struts.xml配置檔案的編寫)

Struts2的開始 Struts2的作用 現在專案一般都是按照三層架構來開發的,表現層,業務邏輯層,資料訪問層,Struts2就是用來代替servlet處理表現層的一種框架,用來處理頁面的請求跳轉與資料顯示等,Struts2裡面還是用servlet來實

Scrapy框架的學習(1.scrapy的概念以及scrapy的工作流程)

 scrapy的概念 1.為什麼要學習Scrapy?      因為會讓我們的爬蟲更快、更強 2.什麼是scrapy?      (1) Scrapy是一個為了爬取網站資料,提

EOS學習系統---BPS工作流程

1、首先建立一個“報銷單審批的”流程,然後定義不同的url頁面和對應的邏輯流; 2、具體案例實現如下: 3、表單錄入頁面: <%@ page language="java" contentType="text/html; charset=UTF-8" pag

工作學習——Activiti流程例項、任務管理四步曲

轉載:https://blog.csdn.net/zwk626542417/article/details/46646565一、前言    上一篇文章中我們將Activiti流程定義管理的知識進行了介紹,這篇文章我們繼續Activiti流程例項和任務管理的學習。二、正文流程例

Android 4.4 Kitkat Phone工作流程淺析(一)__概要和學習計劃

        美國時間 2013 年 10 月 31 日, Google 正式釋出了全新版本的移動作業系統 Android 4.4 KitKat 。據 google官方介紹,Android 4.4 降低了硬體的需求,提高了程式執行效率。距離 4.4 釋出已經過去3個月了,

編譯原理學習周入門教程--(2)編譯程式的六個工作流程

上篇我們介紹了什麼是編譯程式,簡單提到了這個“工廠”工作的六個階段。本篇介紹一下這六個階段。 “工廠”導航圖(翻譯工作的過程):      流水線一--詞法分析: 也就是從左到右一個一個的讀入源程

七月演算法機器學習筆記6 -- 工作流程與模型優化

這套筆記是跟著七月演算法四月機器學習班的學習而記錄的,主要記一下我再學習機器學習的時候一些概念比較模糊的地方,具體課程參考七月演算法官網:http://www.julyedu.com/ 特徵工程總

方法 | 機器學習(深度學習)通用工作流程

機器學習(深度學習)通用工作流程1. 定義問題並裝載資料集(Defining the problem and assembling a dataset)首先,你必須定義你手頭的問題:輸入資料是什麼?你希望預測什麼?只有在能夠獲得訓練資料的情況下你才能進行預測:舉個例子,如果你

OAuth2.0 學習(一) OAuth2.0 工作流程

重要術語 Authorization Server:授權伺服器,能夠成功驗證資源擁有者和獲取授權,並在此之後分發令牌的伺服器; Resource Server:資源伺服器,儲存使用者的資料資源,能夠接受和響應受保護資源請求的伺服器; Client:客戶端,獲取授權和傳送受

機器學習入門報告之 解決問題一般工作流程

對於給定的資料集和問題,用機器學習的方法解決問題的工作一般分為4個步驟: 一.     資料預處理 首先,必須確保資料的格式符合要求。使用標準資料格式可以融合演算法和資料來源,方便匹配操作。此外還

機器學習深入與強化--工作流程與模型優化

實際建模之前,需要做資料的處理,首先是資料清洗,2點,然後是資料取樣,因為大部分模型對正負樣本的比例都十分敏感。 之後非常重要的就是特徵工程,它包括特徵處理和特徵選擇兩部分,首先是特徵處理,針對不同