shiro認證過程,怎樣做才會走realm的認證方法
1、走realm的認證方法1:直接呼叫【SecurityUtils.getSubject().login(token)】方法
可參考【https://blog.csdn.net/scscdslt/article/details/77801570】
2、走realm的認證方法2:有嚴格要求【參考http://www.cnblogs.com/yoohot/p/6085830.html】
A、必需是POST提交,意味著只能通過頁面(表單的POST)提交
B、POST提交地址必需為loginUrl地址
C、Post提交地址只能是一層【即只能是“/地址”,不能出現更多的“/”】
D、過濾鏈中POST提交地址必需配製為authc【配製為必需認證】
E、通過這幾個限制條件,不呼叫【SecurityUtils.getSubject().login(token)】方法,一樣會走realm的認證方法
-------------------------------------------測試注意事項-------------------------------------------
1、想讓哪個地址直接放行,請在過濾鏈中設定anon:
比如說login.jsp就必需直接放行才能訪問的到【否則訪問login.jsp會轉向設定的loginUrl地址,當然也不會走realm認證方法】
2、根據realm認證方法的特點【1、認證成功直接進入成功頁面,2、認證不成功走loginUrl地址】:
所以,在loginUrl對應的action方法中設定跳轉指向為【login.jsp】
-》認證失敗,此時雖然頁面顯示的內容是login.jsp的內容,但是顯示地址卻是loginUrl地址。
-》此時login.jsp=anon也可以不用設定了【因為顯示的是loginUrl地址】