<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ![](https://cdn.zimug.com/wx-zimug.png) [TOC] ## 一、 SpringSecurity 框架簡介 官網:https://projects.spring.io/spring-security/ 源代碼: [https://github.com/spring-projects/spring-security/](https://github.com/spring-projects/spring-security/) Spring Security 是強大的,且容易定制的,基于Spring開發的實現認證登錄與資源授權的應用安全框架。 **SpringSecurity 的核心功能:** * Authentication:身份認證,用戶登陸的驗證(解決你是誰的問題) * Authorization:訪問授權,授權系統資源的訪問權限(解決你能干什么的問題) * 安全防護,防止跨站請求,session 攻擊等 ## 二、比較一下shiro與Spring Security 目前在java web應用安全框架中,與Spring Security形成直接競爭的就是shiro,二者在核心功能上幾乎差不多,但從使用的角度各有優缺點。筆者認為:沒有最好的,只有最合適的。 ### 2.1 用戶量 Shiro的使用量一直高于spring security。但是從趨勢上來看(2020年10月的百度指數),Spring Security是在一直上升的,shiro的使用量同比、環比都進入了下滑期。 ![](https://img.kancloud.cn/dc/77/dc776fae885b20e103440c0de9e70149_1268x644.png) ### 2.2.使用的方便程度 通常來說,shiro入門更加容易,使用起來也非常簡單,這也是造成shiro的使用量一直高于Spring Security的主要原因。但是從筆者的角度來看,二者其實都簡單,我說說我的理由: * 在沒有Spring Boot之前,Spring Security的大部分配置要通過XML實現,配置還是還是非常復雜的。但是有了 Spring Boot之后,這一情況已經得到顯著改善。 * Spring Security之所以看上去比shiro更復雜,其實是因為它引入了一些不常用的概念與規則。大家應該都知道2/8法則,這在Spring Security里面體現的特別明顯,如果你只學Spring Security最重要的那20%,這20%的復雜度和shiro基本是一致的。也就是說,不重要的那80%,恰恰是Spring Security比shiro的“復雜度”。 也就是說,如果有人能幫你把Spring Security最重要的那20%摘出來,二者的入門門檻、復雜度其實是差不太多的。 ### 2.3.社區支持 Spring Security依托于Spring龐大的社區支持,這點自不必多說。shiro屬于apache社區,因為它的廣泛使用,文檔也非常的全面。二者從社區支持來看,幾乎不相上下。 但是從社區發展的角度看,Spring Security明顯更占優勢,隨著Spring Cloud、Spring Boot、Spring Social的長足進步,這種優勢會越來越大。因為Spring Security畢竟是Spring的親兒子,Spring Security未來在于Spring系列框架集成的時候一定會有更好的融合性,前瞻性、兼容性!這也是為什么我們要學Spring Security的主要原因! ### 2.4.功能豐富性 Spring Security因為它的復雜,所以從功能的豐富性的角度更勝一籌。其中比較典型的如: * Spring Security默認含有對OAuth2.0的支持,與Spring Social一起使用完成社交媒體登錄也比較方便。shiro在這方面只能靠自己寫代碼實現。 * 還有一種普遍說法:Spring Security在網絡安全的方面下的功夫更多,但是筆者并未有非常直接的感受,有可能出現安全問題的時候才會感到不夠安全的痛。 ## 三、總結 如果你只是想實現一個簡單的web應用,shiro更加的輕量級,學習成本也更低。如果您正在開發一個分布式的、微服務的、或者與Spring Cloud系列框架深度集成的項目,筆者還是建議您使用Spring Security。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看