Building a Forum with Dreamweaver – Part 2: Setting Up User Authentication
Setting Up User Authentication
In the following sections of this tutorial, you will use ImpAKT to build a user authentication system for your forum. You need authentication to prevent pranksters from posting a load of garbage to your forum and getting away with it. If users want to post messages to the forum, they must register an account, activate it, and then log in. Only then will they be able to post messages to the forum.
To build the user authentication system, you will do the following:
- Configure user login settings from the InterAKT Control Panel.
- Create a user registration page.
- Create the user login page.
- Create a logout link.
- Use conditional regions to control which content is public and which is private.
Configuring Login Settings
The InterAKT Control Panel comes with your ImpAKT installation and is a central place for all configuration options for your site. The InterAKT Control Panel can be accessed from the MX Kollection tab of the Insert bar (see Figure 1).
Alternatively, you can access the InterAKT Control Panel by clicking the Server Behaviors tab > MX Kollection submenu.
The InterAKT Control Panel (see Figure 2) offers a quick and convenient way to configure the most common settings for your development environment and for your site. Once configured, the settings will be remembered, thus saving you a lot of time.
Here are just a few of the settings you can configure with the InterAKT Control Panel:
- Date formats: Change the date and time formats for the pages built with ImpAKT to match your specific regional settings (American, German, and so on).
- Language settings: Change the language for form buttons, error messages, labels, and hints generated by ImpAKT. You can choose one of the predefined 11 languages.
- Debugging mode: Configure the level of detail of error messages or set the error reporting method (errors can be sent by e-mail to the webmaster or logged to a file on the server).
- Login settings: Configure the user authentication options.
- E-mail settings: Configure the outgoing e-mail server, port, user name, and password.
- CSS skins: Change the look of the entire site by selecting a different CSS skin.
- User interface persistence and database caching: Enable these settings to speed up your work. If user interface persistence is enabled, all ImpAKT interfaces will remember the settings you entered the last time.
All ImpAKT interfaces feature contextual help—short instructions that guide you through configuring each setting (see Figure 3).
In addition to these settings, you can also configure an image processing library, perform product upgrades, or update your site.
The Login Settings section is the place where you configure all user authentication options, including database information, password encryption, user levels, and redirect pages. Follow these steps to configure the login settings:
- In the InterAKT Control Panel, click the Login Settings icon. This opens a dialog box showing four tabs: Options, Database, Session, and User Levels.
Configure the Options tab as shown in Figure 4:
- For increased security, passwords will be encrypted in the database
For this example, the forum will not use access levels, so set the restriction to use user name and password only
In the Database tab, define which table stores the user information and what columns to use for authentication (see Figure 5):
- Select the database connection (
connForum) and the table that stores user information (
user_usr). The primary key is automatically detected and set to
- From the Username pop-up menu, select the
- From the Password pop-up menu, select the
- From the E-mail pop-up menu, select the
- From the Active pop-up menu, select the
active_usrcolumn. If you specify a column that stores the account status (active/inactive), account activation will be available. When a user registers an account, an e-mail message will be sent containing an activation link. Unless the user clicks that link, the account cannot be used.
In the Random key pop-up menu, select the
A random key consists of a randomly generated set of alphanumeric characters used for improving website security. A random key is commonly used in user account activation, online purchases, or other activities that use URLs that ought to be difficult to guess. This prevents potentially malevolent users from accessing the URLs by directly entering them in the browser window in order to activate accounts for other users. ImpAKT automatically generates unique random keys for each user and stores them in the specified column.
In the Session tab, you can define which session variables to create upon login and what information to store in them. By default, two variables will be created:
kt_login_id (stores the user’s unique ID) and
kt_login_user (stores the user name). You don’t need additional session variables for this tutorial, so leave this tab as is (see Figure 6).
Because the forum does not use access levels, you need to define on the User Levels tab only those pages to redirect the user to. You have to set the login page and the pages to be redirected to when authentication succeeds or fails. Use the login.php page from the site root for the Login Page and Default Redirect on Fail text boxes. When the login is successful, the user must be redirected to the forum home page. Configure the user interface with the options shown in Figure 7.
Because sending e-mail notifications for account activation is part of the user registration process, you will also need to configure the e-mail settings as explained in the following