摘要:我認為無論是也好,還是其他安全框架也好,其功能主要就分為三部分認證授權加密。的認證授權管理,都需要由負責。構建環境主體提交認證請求認證創建環境,我們這里使用的是。最后我們使用進行認證。認證我們先說這么多,下節我們來說說的簡單授權。
時隔這么久終于有時間更新了,今天和大家分享一下Shiro的原理。我認為無論是Shiro也好,還是其他安全框架也好,其功能主要就分為三部分:認證、授權、加密。下面我們來詳細說明Shiro具體是如何實現的。Shiro結構圖
講原理當然離不開結構圖,我們先來看一下Shiro的整體結構。
由Shiro的結構圖我們可以看出Shiro的核心就是Security Manager。Shiro的認證、授權、Session管理,都需要由Security Manager負責。
Shiro認證下面我們用一個小例子來了解一下Shiro 的簡單用法。
public class HelloShiro { SimpleAccountRealm realm = new SimpleAccountRealm(); @Before public void addUser() { realm.addAccount("Mark", "123456"); } @Test public void testSimlpeRealm() { // 1.構建securityManager環境 DefaultSecurityManager securityManager = new DefaultSecurityManager(); securityManager.setRealm(realm); // 2.主體提交認證請求 SecurityUtils.setSecurityManager(securityManager); Subject subject = SecurityUtils.getSubject(); AuthenticationToken token = new UsernamePasswordToken("Mark", "123456"); // 3. 認證 subject.login(token); System.out.println(subject.isAuthenticated()); } }
創建securityManager環境,我們這里使用的是DefaultSecurityManager。
設置Realm,Realm主要主要負責Subject的認證和授權。其中最重要的兩個方法是doGetAuthenticationInfo和doGetAuthorizationInfo,這也是我們整個權限管理的最重要的一部分,由于這里我們只是一個入門程序,我們就使用Shiro定義好的SimpleAccountRealm作為演示,后面我們還會說到JdbcRealm和自定義Realm。
通過SecurityUtils設置securityManager和獲取subject;
創建需要認證的token信息,這是我們自己創建一個UsernamePasswordToken來模擬獲取用戶從前臺登陸的賬號密碼。
最后我們使用subject.login(token);進行認證。若tonken中的賬號密碼和我們addUser()添加的相同則測試通過,否則則會拋出異常。
Shiro認證我們先說這么多,下節我們來說說Shiro的簡單授權。如果大家有好的意見和建議請在評論區留言,謝謝大家。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69170.html
摘要:為了達到很好的效果,我們使用來對的緩存進行管理配置會話管理器,對會話時間進行控制手動清空緩存由于驗證用戶名和密碼之前,一般需要驗證驗證碼的。 前言 本文主要講解的知識點有以下: Shiro授權過濾器使用 Shiro緩存 與Ehcache整合 Shiro應用->實現驗證碼功能 記住我功能 一、授權過濾器測試 我們的授權過濾器使用的是permissionsAuthorization...
摘要:細粒度權限管理就是數據級別的權限管理。張三只能查看行政部的用戶信息,李四只能查看開發部門的用戶信息。比如通過的攔截器實現授權。 前言 本文主要講解的知識點有以下: 權限管理的基礎知識 模型 粗粒度和細粒度的概念 回顧URL攔截的實現 Shiro的介紹與簡單入門 一、Shiro基礎知識 在學習Shiro這個框架之前,首先我們要先了解Shiro需要的基礎知識:權限管理 1.1什...
摘要:表示對用戶資源進行操作,相當于,對所有用戶資源實例進行操作。與整合,實際上的操作都是通過過濾器來干的。將安全管理器交由工廠來進行管理。在過濾器鏈中設置靜態資源不攔截。 前言 本文主要講解的知識點有以下: Shiro授權的方式簡單介紹 與Spring整合 初始Shiro過濾器 一、Shiro授權 上一篇我們已經講解了Shiro的認證相關的知識了,現在我們來弄Shiro的授權 Shir...
摘要:框架具有輕便,開源的優點,所以本譯見構建用戶管理微服務五使用令牌和來實現身份驗證往期譯見系列文章在賬號分享中持續連載,敬請查看在往期譯見系列的文章中,我們已經建立了業務邏輯數據訪問層和前端控制器但是忽略了對身份進行驗證。 重拾后端之Spring Boot(四):使用JWT和Spring Security保護REST API 重拾后端之Spring Boot(一):REST API的搭建...
摘要:框架提供的接口,是的核心,代表安全管理器對象。可以開發人員編寫,框架也提供一些。在中作為應用程序和安全數據之間的橋梁或連接器。例如要求中必須同時含有和的權限才能執行方法。 apache shiro框架簡介 Apache Shiro是一個強大而靈活的開源安全框架,它能夠干凈利落地處理身份認證,授權,企業會話管理和加密。現在,使用Apache Shiro的人越來越多,因為它相當簡單,相比比Sp...
閱讀 1589·2023-04-26 01:54
閱讀 1621·2021-09-30 09:55
閱讀 2645·2021-09-22 16:05
閱讀 1856·2021-07-25 21:37
閱讀 2620·2019-08-29 18:45
閱讀 1886·2019-08-29 16:44
閱讀 1882·2019-08-29 12:34
閱讀 1346·2019-08-23 14:02