Customizing authentication pages
Authentication pages are HTML files. Local portal authentication requires the following authentication pages:
Logon page
Logon success page
Logon failure page
Online page
System busy page
Logoff success page
You must customize the authentication pages, including the page elements that the authentication pages will use, for example, back.jpg for authentication page Logon.htm.
Follow the authentication page customization rules when you edit the authentication page files.
File name rules
The names of the main authentication page files are fixed (see Table 14). You can define the names of the files other than the main authentication page files. File names and directory names are case insensitive.
Table 15: Main authentication page file names
Main authentication page | File name |
---|---|
Logon page | logon.htm |
Logon success page | logonSuccess.htm |
Logon failure page | logonFail.htm |
Online page Pushed after the user gets online for online notification | online.htm |
System busy page Pushed when the system is busy or the user is in the logon process | busy.htm |
Logoff success page | logoffSuccess.htm |
Page request rules
The local portal Web server supports only Get and Post requests.
Get requests—Used to get the static files in the authentication pages and allow no recursion. For example, if file Logon.htm includes contents that perform Get action on file ca.htm, file ca.htm cannot include any reference to file Logon.htm.
Post requests—Used when users submit username and password pairs, log in, and log out.
Post request attribute rules
Observe the following requirements when editing a form of an authentication page:
An authentication page can have multiple forms, but there must be one and only one form whose action is logon.cgi. Otherwise, user information cannot be sent to the local portal Web server.
The username attribute is fixed as PtUser. The password attribute is fixed as PtPwd.
The value of the PtButton attribute is either Logon or Logoff, which indicates the action that the user requests.
A logon Post request must contain PtUser, PtPwd, and PtButton attributes.
A logoff Post request must contain the PtButton attribute.
Authentication pages logon.htm and logonFail.htm must contain the logon Post request.
The following example shows part of the script in page logon.htm.
<form action=logon.cgi method = post > <p>User name:<input type="text" name = "PtUser" style="width:160px;height:22px" maxlength=64> <p>Password :<input type="password" name = "PtPwd" style="width:160px;height:22px" maxlength=32> <p><input type=SUBMIT value="Logon" name = "PtButton" style="width:60px;" onclick="form.action=form.action+location.search;"> </form>
Authentication pages logonSuccess.htm and online.htm must contain the logoff Post request.
The following example shows part of the script in page online.htm.
<form action=logon.cgi method = post > <p><input type=SUBMIT value="Logoff" name="PtButton" style="width:60px;"> </form>
Page file compression and saving rules
You must compress the authentication pages and their page elements into a standard zip file.
The name of a zip file can contain only letters, numbers, and underscores.
The authentication pages must be placed in the root directory of the zip file.
Zip files can be transferred to the device through FTP or TFTP and must be saved in the root directory of the device.
Examples of zip files on the device:
<Sysname> dir Directory of flash: 1 -rw- 1405 Feb 28 2008 15:53:20 0 -rw- 1405 Feb 28 2008 15:53:31 2 -rw- 1405 Feb 28 2008 15:53:39 3 -rw- 1405 Feb 28 2008 15:53:44 2540 KB total (1319 KB free)
Redirecting authenticated users to a specific webpage
To make the device automatically redirect authenticated users to a specific webpage, do the following in logon.htm and logonSuccess.htm:
In logon.htm, set the target attribute of Form to _blank.
See the contents in gray:
<form method=post action=logon.cgi target="_blank">
Add the function for page loading pt_init() to logonSucceess.htm.
See the contents in gray:
<html> <head> <title>LogonSuccessed</title> <script type="text/javascript" language="javascript" src="pt_private.js"></script> </head> <body onload="pt_init();" onbeforeunload="return pt_unload();"> ... ... </body> </html>