氮气期

在我的所有氮页面中,我使用以下语义:
main() -> 
case wf:user() /= undefined of 
    true  -> main_authorized();
    false -> wf:redirect_to_login("/login")
end.
当用户登录并在包含表单的页面中,如果会话超时,他仍然可以执行表单发布,导致我的网站逻辑出现一些问题,因为未记录的用户应该重定向到登录页面,我有什么方法可以实现这种行为,而不必经历我的所有页面事件功能,并寻找这种情况? 在此先感谢和问候     
已邀请:
Nitrogen为应用程序开发人员提供了定义和设置授权回调模块的能力。 您可以在每个页面处理程序中描述的
main/0
逻辑中定义一个授权处理程序,就像我在二月份写的以下Gist一样: https://gist.github.com/830529 您定义的
security_handler
回调模块中的
init/2
函数(假设您在启动时用
nitrogen:handler/2
将其挂钩)将在页面处理程序中的
main/0
函数之前执行。 为了确保POST页面处理程序的任何部分都没有执行,你应该以401作为参数调用
wf:status_code/1
。然后根据Web服务器的配置,在401响应中指定相应的登录页面。     

要回复问题请先登录注册