Coldfusion 在FW/1上使用空白密码登录

Coldfusion 在FW/1上使用空白密码登录,coldfusion,security,fw1,Coldfusion,Security,Fw1,我使用一个html表单查询数据库以检查安全性。密码为NULL是有效的,但是用户应该得到一个警告,密码为空,应该更新 每次加载页面时,我要警告的是密码为空 我的问题是:哪里是最好的地方做这项检查。布局文件是显示消息的地方,但我认为布局文件不应该查询数据库。如果目的是检查每个页面加载,那么Application.cfc文件的onRequestStart方法似乎是一个很好的地方。您需要一些条件逻辑,以便在用户登录后才开始检查,但这相当简单 此外,您还可以使用会话变量来指示此人是否拥有密码。您不必每次都

我使用一个html表单查询数据库以检查安全性。密码为NULL是有效的,但是用户应该得到一个警告,密码为空,应该更新

每次加载页面时,我要警告的是密码为空


我的问题是:哪里是最好的地方做这项检查。布局文件是显示消息的地方,但我认为布局文件不应该查询数据库。

如果目的是检查每个页面加载,那么Application.cfc文件的onRequestStart方法似乎是一个很好的地方。您需要一些条件逻辑,以便在用户登录后才开始检查,但这相当简单


此外,您还可以使用会话变量来指示此人是否拥有密码。您不必每次都查询数据库。

按建议启动请求。 另一个技巧是创建一个结构数组,在其中存储所有通知或警报以及其他信息,如警报类型或状态等,然后在视图中循环该数组并显示所有要使用的通知。
如果有任何警报会影响业务逻辑决策,那么您也可以在mvc中的其他位置循环此阵列。

FW/1有一个名为setUpRequest的方法,其功能类似于onRequestStart

您可以使用setUpRequest调用控制器,检查密码是否为NULL,并向请求上下文rc添加一条消息,该消息随后将在所有控制器中可用,并在请求中查看代码。下面是我正在开发的一个应用程序的一些示例代码。您可以轻松地在设置控制器的默认方法中检查密码

function setupRequest( rc ) {
    if( structkeyExists( url, "reload" ) ){
        setupApplication();
    }
    controller( 'setup.default' );
}

如果只需要检查一个子系统,您将如何使用这种方法?我不使用子系统,但我设想在setup.default中,您可以检查您所在的子系统。