User Guide

Table Of Contents
396 Chapter 16: Securing Applications
The following table describes the CFML code in Application.cfc and its function:
Code Description
<cfcomponent>
<cfset This.name = "Orders">
<cfset This.Sessionmanagement=”True”>
<cffunction name="OnRequestStart">
<cfargument name = "request"
required="true"/>
Identifies the application, enables session
management, and enables storing login
information in the Session scope.
Begins the definition of the
onRequestStart method that runs at the
starts of each request.
<cfif IsDefined("Form.logout")>
<cflogout>
</cfif>
If the user just submitted the logout form,
logs out the user. The following
cflogin
tag runs as a result.
<cflogin>
<cfif NOT IsDefined("cflogin")>
<cfinclude template="loginform.cfm">
<cfabort>
Executes if there is no logged-in user.
Tests to see if the user has submitted a
login form. If not, uses
cfinclude to
display the form. The built-in
cflogin
variable exists and contains the user name
and password only if the login form used
j_username and j_password for the input
fields.
The
cfabort tag prevents processing of
any code that follows on this page.
<cfelse>
<cfif cflogin.name IS "" OR
cflogin.password IS "">
<cfoutput>
<H2>You must enter text in both the
User Name and Password fields</H2>
</cfoutput>
<cfinclude template="loginform.cfm">
<cfabort>
Executes if the user submitted a login
form.
Tests to make sure that both name and
password have data. If either variable is
empty, displays a message, followed by
the login form.
The
cfabort tag prevents processing of
any code that follows on this page.
<cfelse>
<cfquery name="loginQuery"
dataSource="cfdocexamples">
SELECT UserID, Roles
FROM LoginInfo
WHERE
UserID = '#cflogin.name#'
AND Password = '#cflogin.password#'
</cfquery>
Executes if the user submitted a login form
and both fields contain data.
Uses the cflogin structure’s
name and
password entries to find the user record in
the database and get the user’s roles.
<cfif loginQuery.Roles NEQ "">
<cfloginuser name="#cflogin.name#"
Password = "#cflogin.password#"
roles="#loginQuery.Roles#">
If the query returns data in the Roles field,
logs in the user using the user’s name and
password and the Roles field from the
database. In this application, every user
must be in some role.