原生AOP的實現以及shior框架授權,圖文並茂,收藏學習 總結 三不走

1創建一個SpringBoot項目

2在項目裏定義一個接口,放在com.cy.pj.mail.service下,寫一個方法。

寫一個實現類取繼承接口,想要定義一個日誌處理,想要以AOP的方式注入。

3寫一個測試類,要交給spring管理。

有輸出結果爲hello cgb2006

4接着不去寫切面實現AOP的功能,至少得有通知,和切入點。先新建一個註解,這個註解在運行有效,希望註解描寫得方法爲目標方法,有了註解,接下來還少一個通知。

藉助此註解描述一個切入點方法

在實現類得上面

5寫一個通知得class,取實現一個接口,這個接口裏得方法有一個功能,會取執行目標方法。最先得通知需要寫到切面對象裏去。MethodInterceptor原先就是一個日誌通知對象,裏面有advice。

invocation可以看成一個連接點對象,放在了目標方法信息,可以通過反射獲得。

6現在又了切入點和通知,需要把對象放到advice裏面去

這個advisor又叫顧問,它作用是告訴BeanProcessor,在這個切入點上,也就是(Pointcut)爲目標對象創建對象,接下來就是寫Adcisor。Adcisor必須滿足一些要求,在Browse上繼承

這個對象要交給spring管理,所以@Component

method封裝了目標封裝對象

這就是判定方法是不是切入點的一個入口

接着

當前的springBoot需要配置DefauktAdvisorAutoProxyCreator

直接在啓動類裏進行

方法名

運行結果。

shiro最核心的是SecurityManager,注意包是喲啊shiro包

@Bean是描述的方法爲spring要管理的對象,方法名默認爲bean的名稱,@Conponent是能描述類1

項換方法名就@Bean("aaaa")

2配置過濾規則,例如對那些請求進行認證,那些請求可以直接放行。spring容器在調用這個方法的時候,會按類型,爲方法參數注入一個對象,相當於在方法上加了一個@AuTowired,如果又多個對象,可以

linkedHashMap是底層要求的

接下來寫對map的要求

下一步寫一個方法可以返回登入頁面。

在配置controller下寫返回頁面就是處理所有頁面請求的界面

還需要設置一下

除了靜態資源,其他訪問都需要通過認證

建立一個需求當輸入doIndexUI可以直接進入頁面

直接加map裏面

總結 三不走

1 先進行配置對象,對象需要進行請求授權

2 配置ShiroFilerFactoryBean,負責創建過濾器工廠,由了過濾器,拿到請求,假如請求進行認證分析就需要DefaultWebSecurityManager,所以要把DefaultSecurityManager注入給ShiroFilterFactoryBean,因爲它會把對象的引用傳給過濾器(filters),filters就會掉用這個方法DefaultSecurityManager來進行認證分析

認證分析請求流程

瀏覽器提供一個請求,token是用來封裝用戶信息的,Subject就是承載信息的車,提交給Secuirty manager,Secuirty manager還需要從數據庫去信息,和提交信息進行比對,就在傳遞給Authenticator的時候,這裏面有一個認證方法,數據庫通過room??

認證信息和認證凡是不同,選擇認證策略。

大概步驟:1是寫在了doLogin方法裏面,token封裝了信息,subject傳輸。還有一個是關聯Realm完成認證。

Realm拿到兩部分數據交給方法。主要寫controller,Realm,還有配置文件。

1數據層基於用戶名去找信息

3寫Realm繼承Aut啥的,可以重寫set和get。

操作1數據層:

2業務層,寫一個Realmclass

這個realm默認情況下有認證跟授權

1)注意這個是重寫,所以返回值要符合要求

接下來對比個數據庫裏的。就是另一個重寫

取配置類把realm寫進去

別倒錯包

去控制層寫一個處理登入的方法,一個用戶名,一個方法。要先去取subject

之後去修改下配置類

可以測試了,個地方不對

上面部分補充。

user將來傳什麼就取什麼,已加密的密碼就是從數據庫取出來的

傳什麼值=由構造方法決定,邏輯上講應該先寫後面的

寫2後加p

由登入就有退出

把數據清除,並跳轉回登入頁面。

設置一個登入錯誤的彈框,一個提示,定義一個同意的異常方法。cv

由個註解=@ControllerAdvice+@ResponseBody

授權刪除權限!!!

由了切入點,還得由通知

菜單頁面看到得都是授權標識

給用戶分配權限得過程

添加得時候

這個也有授權標識。

操作把這個標識符給

基於用戶找菜單

去用戶角色表

基於角色找菜單

基於菜單找授權標識

下面回到映射

下面業務層

來源:https://segmentfault.com/a/1190000024517798?utm_source=tuicool&utm_medium=referral

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章