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