教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Spring Security簡介

更新時間:2018年10月24日16時06分 來源:傳智播客 瀏覽次數(shù):

  Spring Security是一個能夠為基于Spring的企業(yè)應用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組可以在Spring應用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反轉Inversion of Control ,DI:Dependency Injection 依賴注入)和AOP(面向切面編程)功能,為應用系統(tǒng)提供聲明式的安全訪問控制功能,減少了為企業(yè)系統(tǒng)安全控制編寫大量重復代碼的工作。它是一個輕量級的安全框架,它確保基于Spring的應用程序提供身份驗證和授權支持。它與Spring MVC有很好地集成,并配備了流行的安全算法實現(xiàn)捆綁在一起。安全主要包括兩個操作“認證”與“驗證”(有時候也會叫做權限控制)。“認證”是為用戶建立一個其聲明的角色的過程,這個角色可以一個用戶、一個設備或者一個系統(tǒng)。“驗證”指的是一個用戶在你的應用中能夠執(zhí)行某個操作。在到達授權判斷之前,角色已經(jīng)在身份認證過程中建立了。

  它的設計是基于框架內大范圍的依賴的,可以被劃分為以下幾塊。

  Web/Http 安全:這是最復雜的部分。通過建立 filter 和相關的 service bean 來實現(xiàn)框架的認證機制。當訪問受保護的 URL 時會將用戶引入登錄界面或者是錯誤提示界面。

  業(yè)務對象或者方法的安全:控制方法訪問權限的。

  AuthenticationManager:處理來自于框架其他部分的認證請求。

  AccessDecisionManager:為 Web 或方法的安全提供訪問決策。會注冊一個默認的,但是我們也可以通過普通 bean 注冊的方式使用自定義的 AccessDecisionManager。

  AuthenticationProvider:AuthenticationManager 是通過它來認證用戶的。

  UserDetailsService:跟 AuthenticationProvider 關系密切,用來獲取用戶信息的。

  

  Shiro和Spring Security比較

  Shiro比Spring更容易使用,實現(xiàn)和最重要的理解

  Spring Security更加知名的唯一原因是因為品牌名稱

  “Spring”以簡單而聞名,但諷刺的是很多人發(fā)現(xiàn)安裝Spring Security很難

  然而,Spring Security卻有更好的社區(qū)支持

  Apache Shiro在Spring Security處理密碼學方面有一個額外的模塊

  Spring-security 對spring 結合較好,如果項目用的springmvc ,使用起來很方便。但是如果項目中沒有用到spring,那就不要考慮它了。

  Shiro 功能強大、且 簡單、靈活。是Apache 下的項目比較可靠,且不跟任何的框架或者容器綁定,可以獨立運行



作者:傳智播客JavaEE培訓學院
首發(fā):http://java.itcast.cn/

0 分享到:
和我們在線交談!