1. 程式人生 > >Spring Security3.1登陸驗證

Spring Security3.1登陸驗證

一、前言

      在上一篇http://blog.csdn.net/k10509806/archive/2011/04/28/6369131.aspx文章中,提到的MyUserDetailServiceImpl獲取使用者許可權,在使用者沒有登陸的時候,Spring Security會讓我們自動跳轉到預設的登陸介面,但在實際應用絕大多數是用我們自己的登陸介面的,其中就包括一些我們自己的邏輯,比如驗證碼。所以本人又研究一下,終於摸清了一些如何配置自己的登陸介面的辦法。在這裡獻醜了。

二、Spring Security的過濾器

      通過DEBUG可以看到Spring Security的Filter的順序

Security filter chain: [
  ConcurrentSessionFilter
  SecurityContextPersistenceFilter
  LogoutFilter
  MyUsernamePasswordAuthenticationFilter
  RequestCacheAwareFilter
  SecurityContextHolderAwareRequestFilter
  RememberMeAuthenticationFilter
  AnonymousAuthenticationFilter
  SessionManagementFilter
  ExceptionTranslationFilter
  MySecurityFilter
  FilterSecurityInterceptor
]

Spring Security的登陸驗證用的就是MyUsernamePasswordAuthenticationFilter,所以要實現我們自己的驗證,可以寫一個類並繼承MyUsernamePasswordAuthenticationFilter類,重寫attemptAuthentication方法。

三、applicationContext-Security.xml配置

這裡特別要說明一下,我們的<http>標籤不能配置auto-config,因為這樣配置後,依然會採用Spring Security的Filter Chain會與下面我們配的custom-filter衝突,最好會拋異常。還有配置一個切入點entry-point-ref="authenticationProcessingFilterEntryPoint",為了在未登陸的時候,跳轉到哪個頁面,不配也會拋異常。

 <custom-filter ref="loginFilter" position="FORM_LOGIN_FILTER"  /> position表示替換掉Spring Security原來預設的登陸驗證Filter。

四、MyUsernamePasswordAuthenticationFilter

有時間,大家看看原始碼吧。

五、login.jsp

相關推薦

Spring Security3.1登陸驗證

一、前言       在上一篇http://blog.csdn.net/k10509806/archive/2011/04/28/6369131.aspx文章中,提到的MyUserDetailServiceImpl獲取使用者許可權,在使用者沒有登陸的時候,Spring Sec

Spring Security簡單的登陸驗證授權

end 黑板 其中 ack ryu ssa enable 靈活 else Spring Security的介紹就省略了,直接記錄一下登陸驗證授權的過程。 Spring Security的幾個重要詞 1.SecurityContextHolder:是安全上下文容器,可以在此得

Node連線mysql之——登陸驗證1

寫了這麼久前端忽然想看一下後臺大佬的世界,所以就看了一下nodeJS中的express框架和koa。 不過今天咱們不說這玩意兒,而是講一下我們最重要的東西:資料庫的連線 要用到資料庫當然少不了我們穩定可靠的mysql咯,我們要試著做一個驗證登陸的東西,所以做如下配置 const ex

Spring Security 實現圖片驗證登陸(一)

生成圖形驗證碼 根據隨機數生成圖片 將隨機數存到session中 在將生成的圖片寫到介面的響應中 在收到服務請求之後 根據隨機數生成圖片 ,然後把隨機數存入到session中,在提交表單的時候從

Spring security 4 使用java註解進行登陸驗證

本文只作為spring官方文件的補充,不會解釋spring以及hibernate的具體技術細節。 本文預設專案已經具有相關的使用者表和DAO,現在我們以此為基礎進行基本的使用者登陸認證,url許可權管理和登出設定。 網上有很多文件描述瞭如何為專案新增spri

spring mvc3.1 @ResponseBody註解生成大量Accept-Charset

ole converter pre catch 字符 註意 trac rri 註解 Spring3 [email protected]/* */(Accept-Charset會達到4K+)。原因在於默認情況下StringHttpMessageConverte

spring boot 1

tcp ring node 策略 覆蓋 編輯 pan boot 頁面 restapi 沒有同意的標準 是一個坑 答:采用 swagger api管理 用的api規則的編輯器。 1.前端分離 需要采用nodejs 2.數據庫分離。 用戶中心 提供rpc r

spring註解1

XML itcast autowire spa cast encoding ans 測試 目錄 1. src下目錄結構如下: 2.測試類 public class App { // 創建容器對象 private ApplicationContext ac = ne

C#實現登陸驗證碼圖片的動態生成

res pla brush rgb nal pub array ide try public ActionResult SecurityCode() { string oldcode = TempData["SecurityCode"] as string; strin

登陸驗證的插件

登陸驗證插件驗證插件的使用方法1、需要進入文件jquery和jq_register.js(格式驗證)、count_register(倒計時)<script src="jquery-1.11.3.min.js"></script> <script src="jq_register.

Spring Security4.1.3實現攔截登錄後向登錄頁面跳轉方式(redirect或forward)返回被攔截界面

response href tools 當前 錯誤 界面 sets view 鏈接 一、看下內部原理 簡化後的認證過程分為7步: 用戶訪問網站,打開了一個鏈接(origin url)。 請求發送給服務器,服務器判斷用戶請求了受保護的資源。

Spring MVC 數據驗證——validate編碼方式

end 3.2 content springmvc div 信息 ng- stub 驗證 1、導入jar包 validation-api-1.0.0.GA.jar這是比較關鍵的一個jar包,[email protected]/* */ h

JSR-303 Bean Validation 介紹及 Spring MVC 服務端驗證最佳實踐

unit clas pre 服務 技術 artifact object out otn 任何時候,當要處理一個應用程序的業務邏輯,數據校驗是你必須要考慮和面對的事情。 應用程序必須通過某種手段來確保輸入參數在上下文來說是正確的。 分層的應用在很多時候,

spring筆記1

and 環境 rgb ins str 名稱空間 主動 .class ogg 一.概述 1.Spring是分層的Java SE/EE應用 full-stack輕量級開源框架,以IoC和AOP為內核,提供了展現層Spring MVC和持久層Spring JDBC以及業務層事務

Shiro:學習筆記(1)——身份驗證

wan param import println cal 類型 classname zhang ets Shiro——學習筆記(1) 1.核心概念 1.Shiro不會自己去維護用戶、維護權限;這些需要我們自己去設計/提供;然後通過相應的接口註入給Shiro。2.應用代碼直接

spring boot 1.5.4 集成devTools(五)

springboot springboot1.5.4 springboot整合jsp springboot之web開發 springboot熱部署devtools 上一篇:spring boot 1.5.4 整合JSP(四)1.1 Spring Boot集成devToolssprin

Spring1

true 構造器註入 依賴關系 prop 松耦合 並且 問題 程序 統一管理 Spring 的依賴註入 依賴: 如果在 Class A 中,有 Class B 的實例,則稱 Class A 對 Class B 有一個依賴。 所謂依賴註入,是指程序運行過程中,

spring boot 1.5.4 定時任務和異步調用(十)

springboot springboot1.5.4 springboot之web開發 springboot定時任務 springboot異步回調 上一篇:spring boot1.5.4 統一異常處理(九) 1 Spring Boot定時任務和異步調用我們在編寫Spring B

spring boot 1.5.4 統一異常處理(九)

springboot springboot1.5.4 springboot整合springdatajpa springboot集成jdbctemplate springboot異常處理 上一篇:springboot 1.5.4 配置文件詳解(八) 1 Spring Boot統一異

Java登陸驗證碼問題

str button ace pla round 截圖 輸入 todo 技術分享 程序設計思路 隨機產生一個6位的字符串 讀取用戶輸入的信息,包括賬號密碼。 驗證用戶輸入的驗證碼是不是和產生的隨機字符串一樣。 如果不是一樣的話就提示並且回到重新輸入的界面。 如果一樣的話就提