在我们的电话银行系统发布后,发生过DialogDesign 堆栈溢出的问题。
根据同事对log的信息发现异常是发生在系统对用户访问的菜单进行权限认证时, 即在流程中系统检查菜单的SecurityMatrix时出错。
SecurityMatrix的验证类似一个递归的过程,DialogDesign 的设计中它从一个Node(Servlet) A到另外一个Node(Servlet).B,再从B到A,如此往复进行权限验证。
最终我们不使用DialogDesign 的设计来处理这个验证流程,而是在DialogDesign对Node(Servlet) A自动生成的代码中直接插入一段递归验证代码来做这个工作。(正常情况下我们不会修改这些自动生成的代码)
Author: David
Mail: xiang.okay@gmail.com