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