Spring Security簡介

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

  它的設計是基於框架內大範圍的依賴的,能夠被劃分爲如下幾塊。spring

  Web/Http 安全:這是最複雜的部分。經過創建 filter 和相關的 service bean 來實現框架的認證機制。當訪問受保護的 URL 時會將用戶引入登陸界面或者是錯誤提示界面。編程

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

  AuthenticationManager:處理來自於框架其餘部分的認證請求。mvc

  AccessDecisionManager:爲 Web 或方法的安全提供訪問決策。會註冊一個默認的,可是咱們也能夠經過普通 bean 註冊的方式使用自定義的 AccessDecisionManager。框架

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

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

  Shiro和Spring Security比較設計

  Shiro比Spring更容易使用,實現和最重要的理解對象

  Spring Security更加知名的惟一緣由是由於品牌名稱

  「Spring」以簡單而聞名,但諷刺的是不少人發現安裝Spring Security很難

  然而,Spring Security卻有更好的社區支持

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

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

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

相關文章
相關標籤/搜索