官網:https://projects.spring.io/spring-security/java
源代碼: github.com/spring-proj…git
Spring Security 是強大的,且容易定製的,基於Spring開發的實現認證登陸與資源受權的應用安全框架。github
SpringSecurity 的核心功能:web
目前在java web應用安全框架中,與Spring Security造成直接競爭的就是shiro,兩者在覈心功能上幾乎差很少,但從使用的角度各有優缺點。筆者認爲:沒有最好的,只有最合適的。spring
從使用狀況上看,兩者都在逐步提升使用量。shiro的使用量一直高於spring security.apache
一般來講,shiro入門更加容易,使用起來也很是簡單,這也是形成shiro的使用量一直高於Spring Security的主要緣由。可是從筆者的角度來看,兩者其實都簡單,我說說個人理由:安全
也就是說,若是有人能幫你把Spring Security最重要的那20%摘出來,兩者的入門門檻、複雜度實際上是差不太多的。springboot
Spring Security依託於Spring龐大的社區支持,這點自沒必要多說。shiro屬於apache社區,由於它的普遍使用,文檔也很是的全面。兩者從社區支持來看,幾乎不相上下。網絡
可是從社區發展的角度看,Spring Security明顯更佔優點,隨着Spring Cloud、Spring Boot、Spring Social的長足進步,這種優點會愈來愈大。由於Spring Security畢竟是Spring的親兒子,Spring Security將來在於Spring系列框架集成的時候必定會有更好的融合性,前瞻性、兼容性!這也是爲何咱們要學Spring Security的主要緣由!session
Spring Security由於它的複雜,因此從功能的豐富性的角度更勝一籌。其中比較典型的如:
若是你只是想實現一個簡單的web應用,shiro更加的輕量級,學習成本也更低。若是您正在開發一個分佈式的、微服務的、或者與Spring Cloud系列框架深度集成的項目,筆者仍是建議您使用Spring Security。