1. 程式人生 > >shiro認證過程,怎樣做才會走realm的認證方法

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地址】