struts2中的token

<s:token/>

實現原理:

在頁面加載時,<s: token />產生一個GUID(Globally Unique Identifier,全局唯一標識符)值的隱藏輸入框如:

xml 代碼
  1. <input type="hidden" name="struts.token.name" value="struts.token"/>  
  2. <input type="hidden" name="struts.token" value="BXPNNDG6BB11ZXHPI4E106CZ5K7VNMHR"/>  

同時,將GUID放到會話(session)中;在執行action之前,“token”攔截器將會話token與請求token比較,如果兩者相同,則將會話中的token刪除並往下執行,否則向actionErrors加入錯誤信息。如此一來,如果用戶通過某種手段提交了兩次相同的請求,兩個token就會不同。

<s:token/>標籤有個name的屬性,可以用來明確指定保存在session中的GUID的名字,如:<s:token name="token"/>,則會把該token以"token"放到session中,可以在action中通過session.getAttribute("token");來取得.如果不指定,默認的名字是struts.token.

發佈了6 篇原創文章 · 獲贊 3 · 訪問量 5445
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章