我正在使用查询数据库的html表单来检查安全性。密码为NULL是有效的,但是用户应该收到密码为空并且应该更新密码的警告。
每次加载页面时,我都要警告密码为NULL。
我的问题是:检查的最佳位置在哪里。布局文件是显示消息的位置,但我认为布局文件不应该查询数据库。
答案 0 :(得分:0)
如果目的是检查每个页面加载,那么Application.cfc文件的onRequestStart()方法似乎与任何页面一样好。您需要一些条件逻辑,以便在此人登录之后才开始检查,但这很简单。
此外,您可以使用会话变量来指示此人是否有密码。您不必每次都查询数据库。
答案 1 :(得分:0)
FW / 1有一个名为setUpRequest()的方法,其功能与onRequestStart()类似。
您可以使用setUpRequest()来调用检查密码为NULL的控制器,并向请求上下文(rc)添加一条消息,该消息随后会在请求中的所有控制器和视图代码中提供。以下是我正在处理的应用程序的一些示例代码。您可以轻松地在设置控制器的默认方法中检查密码。
function setupRequest( rc ) {
if( structkeyExists( url, "reload" ) ){
setupApplication();
}
controller( 'setup.default' );
}
答案 2 :(得分:-1)
按建议启动Onrequeststart。 另一个提示是创建一个结构数组,您可以在其中存储所有通知或警报以及其他信息(如警报类型或状态等),然后在视图中循环显示该数组并显示要使用的所有通知。 如果有任何警报会影响业务逻辑决策,那么您也可以在mvc中的其他位置循环使用此数组。