User Guide

Table Of Contents
398 Chapter 16: Securing Applications
Reviewing the code
The following table describes the loginform.cfm page CFML code and its function:
Example: securitytest.cfm
The securitytest.cfm page shows how any application page can use ColdFusion user authorization
features. Application.cfc ensures the existence of an authenticated user before the page content
appears. The securitytest.cfm page uses the
IsUserInRole and GetAuthUser functions to control
the information that is displayed.
The securitytest.cfm page consists of the following:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Security test page</title>
</head>
<body>
<cfoutput>
<h2>Welcome #GetAuthUser()#!</h2>
</cfoutput>
ALL Logged-in Users see this message.<br>
<br>
<cfscript>
if (IsUserInRole("Human Resources"))
WriteOutput("Human Resources members see this message.<br><br>");
if (IsUserInRole("Documentation"))
WriteOutput("Documentation members see this message.<br><br>");
if (IsUserInRole("Sales"))
WriteOutput("Sales members see this message.<br><br>");
Code Description
<H2>Please Log In</H2>
<cfoutput>
<form
action="#CGI.script_name#?#CGI.
query_string#"
method="Post">
<table>
<tr>
<td>username:</td>
<td><input type="text"
name="j_username"></td>
</tr>
<tr>
<td>password:</td>
<td><input type="password"
name="j_password"></td>
</tr>
</table>
<br>
<input type="submit" value="Login">
</form>
</cfoutput>
Displays the login form.
Constructs the form
action attribute from CGI
variables, with a ? character preceding the query
string variable. This technique works because
loginform.cfm is accessed by a
cfinclude tag on
Application.cfc, so the CGI variables are those
for the originally requested page.
The form requests a user ID and password and
posts the user’s input to the page specified by
the newurl variable.
Uses the field names j_username and
j_password. ColdFusion automatically puts form
fields with these values in the cflogin.name and
cflogin.password variables inside the
cflogin
tag.