<CFIF SESSION.VALIDATED IS "No"> 一旦我們發現使用者尚未通過認證,我們便可以透過一連串程序代碼來檢查使用者是否來自登入窗體頁面,然后比對使用者輸入的帳號與密碼是否有效,最后便可讓使用者通過認證程序。在這個程序的任何一個階段里面,如果使用者未經授權,我們便把該使用者導向到登入窗體頁面,并且停止執行接下來的任何程序代碼。請參考下面這段范例程序,里面的批注會說明每個步驟的功能與用處。
<!--- 如果使用者是來自登入窗體頁面... ---> <CFIF ISDEFINED("FORM.Password") AND ISDEFINED("FORM.UserName")> <!--- 根據接收到的使用者名稱,到數據庫中查詢該使用者的資料 ---> <CFQUERY NAME="CheckPassword" DATASOURCE="mydsn"> SELECT UserName, Password FROM Users WHERE (UserName = '#FORM.UserName#') </CFQUERY>
<!--- 如果密碼正確,則授與該使用者存取這個應用程序的權力 ---> <CFIF FORM.PASSWORD IS #CheckPassword.Password#>
在負載平衡服務器環境之下,你永遠無法得知哪一部服務器會被指定來處理哪一個使用者發出的請求。負載平衡硬件或者軟件純粹僅是將接收到的使用者請求傳遞給當時負載最輕的服務器來處理。在這樣的狀況下我們無法正常運用使用者狀態變量,因為某部服務器上面儲存的使用者狀態變量,對于其它服務器而言都是不可見的。每當負載平衡硬件(或者軟件)將同一個使用者從某部伺服器重新導向到另一部服務器(亦即:該使用者的某次請求被分配給 A 服務器來處理,而下一次請求卻被分配給 B 服務器來處理),使用者狀態變量便會立刻消失不見。