2011-03-14 57 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响应中提供。