2011-03-14 60 views
2

在我用我所有的氮頁以下語義:氮會議

main() -> 
case wf:user() /= undefined of 
    true -> main_authorized(); 
    false -> wf:redirect_to_login("/login") 
end. 

當用戶登錄並在含有形式​​,如果會話超時,他仍然可以做表單提交頁面,導致我的網站邏輯的一些問題,因爲一個未登錄的用戶應該被重定向到登錄頁面,有沒有什麼辦法可以實現這種行爲,而不必通過我所有的頁面事件功能,並尋找這種情況?

預先感謝和問候

回答

4

氮提供定義並設置授權回調模塊的能力應用程序開發者。

相反,有你在每個頁面處理器的描述,你可以在下面的要點這樣定義的授權處理的main/0邏輯的我在二月中寫道: https://gist.github.com/830529

init/2功能可以定義security_handler回調模塊(假設你在nitrogen:handler/2啓動時掛鉤它)將在頁面處理程序中的main/0函數之前執行。

爲了確保沒有執行POST頁面處理程序的任何部分,您應該使用401作爲參數調用wf:status_code/1。然後根據您的Web服務器的配置指定適當的登錄頁面在401響應中提供。