2012-09-27 39 views
0

我在設計我的403頁面,而且我似乎無法獲得我正在各種禁止頁面上填充的「原因」字符串,以對相關問題給出更相對的迴應。如果我在模板中鍵入$ {response.reason},整個頁面將被替換爲響應的文本。如何獲取禁止(')的「原因」?

回答

2

在代碼看來,你可以通過做

${result.getMessage()} 

結果得到模板這個值是自RuntimeException繼承和您提供的描述傳遞給基類異常的紫禁城對象消息

1

你不想提供任何更多的「禁止」的原因。從安全的角度來看,用戶試圖進行未經授權的操作,而最不想做的事情就是告訴他們究竟出了什麼問題(未知用戶,無效密碼等)。如果你這樣做,你會泄露可能幫助用戶滲透你的系統的信息。

例如,如果您區分未知的用戶和無效的密碼,您將放棄用戶ID是否存在。

+0

對於我的設置,我不同意。未知用戶和無效密碼未到達我的403頁。在這些情況下,他們被髮送到登錄頁面並提示登錄。如果他們登錄並嘗試訪問限制他們的頁面,這是我的403頁面出現時。例如:如果用戶是組織的一部分,他們有一個「編輯組織」頁面。如果他們將該鏈接發送給不屬於該組織的人,我想將其發送到我禁止的頁面,其中包括「您不屬於此組織」。作爲'原因'。 – seePatCode

+0

爲了更清楚一點,我基於用戶訪問這些信息所需的安全性打破了我的控制器,在每個控制器中,我都有@Before方法來檢查給定的已驗證用戶是否具有適當的權限。如果不是,我打電話禁止(「這就是爲什麼你不能訪問該頁面。」); – seePatCode

相關問題