How You Configure the OpenROAD Server ASP .NET Client Gatekeeper2
The gatekeeper2 web server application serves two important functions:
Message Transformation
Converts HTTP requests into DCOM calls, and converts DCOM return values into HTTP responses.
Security
Decides which clients are allowed to make calls and which 4GL SCPs they are permitted to call.
The gatekeeper2 for ASP .NET was introduced in OpenROAD 5.1. It provides examples of how to access OpenROAD from IIS or Tomcat web servers.
The installed files for this gatekeeper are listed in
OpenROAD Server ASP .NET Client Gatekeeper2 Components.
For more information about Ingres .NET, see the Ingres Connectivity Guide.
OpenROAD ASP .NET Gatekeeper2
This gatekeeper (sources: OpenROADGatekeeper.ashx.cs, OpenROADGatekeeper.ashx) provides an out-of-the-box experience through using just the source files and configuration options, which you can set in the web.config file. The files are contained in the Gatekeeper2 subdirectory, whose contents you may copy directly into an IIS webapp application subdirectory ("openroad" in the following example). This directory is referenced using the IIS URL:
http://localhost/openroad
The files used to configure the OpenROAD ASP .NET Gatekeeper2 are listed in
OpenROAD Server ASP .NET Client Gatekeeper2 Components.
You may install the Ca.OpenROAD.dll and Ca.OpenROAD.Orrsolib.dll assembly files in the Global Assembly Cache using gacutil. Or you can drop both of these DLLs into the bin subdirectory of your ASP .NET application root ("openroad\bin" in this example).
The entire C# code is contained in OpenROADGatekeeper.ashx.cs. The gatekeeper is referenced by a URL that refers to the OpenROADGatekeeper.ashx file provided, for example:
http://localhost/openroad/OpenROADGatekeeper.ashx
You may rename this file. If you rename OpenROADGatekeeper.ashx.cs, you should update the name in the *.ashx file accordingly.
The gatekeeper requires .NET Framework version 4.0 or higher. The registered application (virtual directory) in IIS must be configured accordingly to use this version
The gatekeeper should work out of the box, that is, without the code needing to be modified.
The default configuration allows access to all SCPs in all OpenROAD Server applications.
Configuration Options
You can configure the OpenROAD Gatekeeper using the following configuration options in the web.config file:
OpenROAD_ServerApp
Defines the name of the OpenROAD Server application the gatekeeper connects to.
If this parameter is missing or if it is set to *, it allows the application name to be provided by the "image" parameter of the Initiate request. We recommend that you have different webapps for different OpenROAD applications.
permittedSCPs
Limits the access to permitted SCPs.
If this parameter is missing or if it is set to *, it allows access to all SCPs. Names of SCPs are delimited by whitespaces (space, tab, newline, carriage-return, or form-feed).
logcalls
Logs requests made to the OpenROAD Gatekeeper into a file when set to 1.
This setting works in combination with setting <trace enabled="true" ...> to enable application trace logging. This option is provided for testing purposes.
Frequenty Asked Questions
Q: How do you provide the username and password on the Initiate method?
A: The username and password credentials may be provided with the flags parameter of the RemoteServer.Initiate() method. For example:
rso.Initiate(..., flags=':testuser:xyz::');
If the username and password are not provided, the user will be prompted to provide the credentials (only on the first Initiate).
Q: What is the URL of the gatekeeper?
A: The URL is the address of the web server, extended by the name of the directory for the web application. For example:
http://myhost/openroad
Or:
https://myhost:443/openroad