1. create a netwebpage (ex.: indexerror)
2. on netwebpage properties name the page and then go to properties, create a body entry and add your HTML for example:
<html>
<head>
<title>NOT AUTHORIZED</title>
<meta http-equiv="Content-Type" content="text/html"; charset="ISO-8859-1" />
<link href="styles/error.css" rel="stylesheet" type="text/css" />
</head>
<body class="ErrorPage">
<hr />
<center>
<img src="./images/noentry.jpg" alt="Not Allowed" /><br /><br />
<P style="font-size: 18pt;font-weight: bold;color: red">YOU ARE NOT AUTHORIZED TO VIEW THIS DATA</p>
</center>
<hr />
</body>
</html>
3. I use a global queue in the webserver, using a NetTalk NetSimple Object, I keep track in the Netsimple Process Method of IP Address, Socket, SockID and User Name in my global queue upon new connection to the web server. I use this queue to determine if the user requesting a web page is a valid user of the system. I pass an unseen login upon connection from client to the webserver and store the userid asoociated with the IP Address of their laptop/PC.
4. In the webserver when a request comes in for a web browse, in the StartNewThread procedure, I do the following, where connq is the queue. If there is no connq:connuserid, the user has not logged on the our system, and is suspect. :
5. I set the default page to the errorpage created above and serve it up instead of the normal index page. I reset the _SitesQueue if they are logged in as to not muck up the works afterwards, or for any subsequent users.
connq:connip = p_RequestData.FromIP
get(connq,connq:connip)
if errorcode() or ~connq:connuserid then
Get(ThisWebServer._SitesQueue,1)
ThisWebServer._SitesQueue.Defaults.DefaultPage = 'indexerror.htm'
put(ThisWebServer._SitesQueue)
ELSE
Get(ThisWebServer._SitesQueue,1)
ThisWebServer._SitesQueue.Defaults.DefaultPage = 'index3.htm'
put(ThisWebServer._SitesQueue)
end
I know there are other methods but this works for our purposes.
regards
Paul Crafton