CHAPTER 10: Security Features




10.1 Introduction

The idea behind Toolkit security is that it is possible to allow certain users into certain areas of your internet application, and deny access to others. This capability takes a little setting up, because the developer must integrate HTTP directory access control with the Connectivity (ODBC) Server password file and database privileges themselves. Various levels and combinations are possible, from a completely open application to one which requires users log on to the browser and be registered with both the HTTP and Connectivity Servers. For many internet applications, the users will not even be known and a generic default user should be set up. Various sections of an application can have varying levels of security. It is possible to have open sections and secure sections of an application.


10.2 HTTP Access Control

The front line of defense is the directory access control available on most HTTP servers. Setting this up is different for every Server, but the basic concept is that any directory, or directory tree and their passwords. Then when any client request is for information stored in these directories the client is prompted for log-on information. The log-on information is then valid for the session life of the client browser.

This is true whether the directory contains HTML files, or is a CGI directory containing executable programs.

Since the Toolkit accesses documents via the CGI directory it is the CGI directory that requires security, not the HTML pages. Thus on HTTP Servers that require a number of different levels of access it is often desirable to set up multiple CGI directories containing copies of the HTML Toolkit programs that have different HTTP access control - and can be inididually configured for database access as well.

If you have HTTP access control on your documentation then this makes the log-on username of the client available to the Empress HTML Toolkit. This is available as a CGI variable called REMOTE_USER.



10.3 HTML Application Scope

By default the HTML Toolkit looks for HTML pages directly under the DocumentRoot of the HTTP Server. Thus if the URL was:

   http://My-bin/ehsql.cgi/a/b/c.html

The Toolkit would look for a document located at:

   DocumentRoot/a/b/c.html

The EH_DOC_ROOT resource variable modifies this behaviour. With this variable set, the Toolkit would look for a document located at:

   DocumentRoot/EH_DOC_ROOT/a/b/c.html

This has two purposes:



10.4 Empress Connectivity Server Access Control

After the HTTP server access control. The next level of access is to the Empress Connectivity Server. In order to access this server an application must have a valid username and password registered in the Connectivity Server password file.

There are three possible security scenarios at this point: