shiro的一點記錄(二)

2021-07-02 07:51:25 字數 1808 閱讀 6671

這次主要寫shiro的exception定製,rememberme和ssl。

exception頁面定製

不知道這個屬不屬於shiro自身的範疇,反正這裡用到了,就寫上吧,主要是這些exception都是shiro裡面的,所以就在這裡寫上吧。根據資料顯示,要定製錯誤頁面,需要在springmvc配置檔案裡面配置相應的控制器異常處理。例如:

不知道咋回事,我注視掉這些配置檔案後,自己寫的錯誤異常控制器還是能用,不知道哪位大神可以解答下。

核心的錯誤控制器如下,這裡簡單定製了兩個常見的異常處理:

/*** 沒有驗證通過異常

* 後續根據不同的需求定製即可

然後是rememberme:

記住使用者也有自己的管理器,需要在shiro的配置檔案,大致的配置如下:

然後在安全管理器裡面加入rememberme屬性:
<

propertyname="remembermeparam"value="rememberme"/>

控制器裡面就可以使用了:

@responsebody

public modelandview loginaction(@requestparam("name")string name,@requestparam("password")string password,

@requestparam(value = "rememberme",required = false) boolean rememberme )

else

securityutils.getsubject().login(token);

mv.setviewname("loginsuccess");

return mv;

}

ssl:

ssl就是把http的訪問程式設計https的訪問,加了乙個安全機制。這裡需要數字證書等等東西,大致就是使用jdk為tomcat生成數字證書,然後修改tomcat的conf/server.xml配置檔案,然後再在應用裡面配置。

生成數字證書部分可以自己在網上查一下,一大堆,我這裡用的這個:

修改tomcat配置檔案是把ssl的那個注釋掉的開啟就可以了:

然後在shiro裡面加上乙個ssl的***就可以了:

這樣就可以在shirofilter裡面使用ssl***攔截相應的url了。

shiro的一點記錄(三)

shiro的無狀態web整合。所謂無狀態就是伺服器端無狀態,就是不儲存會話。一般的會話機制的web應用,都是session機制來儲存使用者狀態。無狀態的web應用就是每次請求都帶上相應的使用者名稱進行登入。具體的實踐就是 客戶端傳入秘鑰和乙個訊息作為輸入,他們聲稱相應訊息摘要,秘鑰是只有客戶端和服務...

hook api的一點記錄

hook api方法不外乎有修改匯入表和修改目標函式 讓其調整到hook函式處執行。這裡僅僅說下後者。後者主要實現為 通過鉤子將 注入到目標程序 簡單點就通過鉤子載入dll的方式來hook 複雜點的話就 使用建立遠端執行緒的方式來進行 然後通過修改要注入的目標函式其實幾個位元組 一般來說是5個位元組...

kvo 的一點記錄

observevalueforkeypath ofobject change context 呼叫方法是裡 object 被觀察物件 observer 觀察物件 forkeypath裡面帶上property的name,如uiview的frame center等等 options 有4個值,分別是 n...