Deployment

Generate deployment folders using Deployment Wizard

The Deployment Wizard generates two packages – Consumer and Provider – which have to be deployed independently to their respective servers. One Provider can serve multiple Consumers.

 

Specify the provider’s url if available, or use a temporary url which you can change later in the Consumer application web.config file.

 

Click Configure Other Application Options Settings to enforce HTTPS, enable Encryption, or enforce public-private keys authentication.

Iron Speed Designer generates two deployment folders for a Web Application but for Web Site you have to use Microsoft Visual Studio to complete generation. If your application is a web site, open each generated application and create the deployment folder using the Publish option from the Build menu

Once the deployment folders are created, you can deploy them to the IIS server by following the steps described in Part VI – Publishing a Deployment Package

Important! We recommend creating both parts as web applications or at least to have the Provider generated as a web application. If you generate the Provider as a web site than only Consumers generated as a web site can communicate with it. With a web application Provider any consumer can communicate.

Configure IIS on production server

Step 1: For the Restful Provider configure Anonymous Authentication. Open IIS manager, navigate to your application then select Authentication and Enabled the Anonymous.

Step 2: Configure the Identity of the Application pool used to run your web application to be Network Service for both the Provider and Consumer application.

 

 

Step 3: Make sure the application pool is targeting the correct framework as noted in the previous screen shots

Step 4: Provide Full Control rights for the Network Service account to the application folder of both the Provider and Consumer applications and to the ManageAdmin.sdf file of the Provider.

Step 5: For the Provider only: Run ManageAdmin.exe as Administrator.

Step 6: Verify that the RestfulHost key in the Consumer’s web.config has the valid Provider URL.

APIKeys

When Private/Public keys are enabled, the Consumer application sends both keys with each request. The Provider application uses the public key to identify the private encrypted key and compare it with its own copy. The Provider saves keys in its local SQL CE database while the Consumer stores them in web.config.

Iron Speed Designer will generate and store matching keys for the both parts of the application, but if you want to use multiple consumer applications make sure you generate keys for each one of them and add them to their web.config files.

Iron Speed Designer generates a simple web application which provides access to this database allowing administrator to add/delete keys.

This application has two pages – KeyGenerator.aspx and Login.aspx. To navigate to KeyGenerator.aspx a user has to Login first providing the administrator’s username/password. Note that the default login password is admin / admin. We highly recommend changing it before deploying the Provider application to production. See ManageAdmin.exe for details.

Fig: Login.aspx

 

Fig: KeyGenerator.aspx

Inside the KeyGenerator page, one can create, read or update any key information. Also there is a Status flag showing whether a key is active or not. If it is unchecked then any consumer using that key will not be authorized.

ManageAdmin.sdf

This is the SQLCE Compact database file used by the Provider to store Public and Private Keys.

 

ManageAdmin.exe

This is a windows application, which communicates with the same database as the KeyGenerator page, but it manages admin credentials only. Admin login-password and key management are divided into two separate applications, to make it more secure. When you want to generate a key, you have to use the admin credential to login to the KeyGenerator page, if you forgot or do not have the admin credentials yet, then it can only be done through this windows form application. Thus windows form application manages administrator credentials.

Source code of this windows application is provided in the Iron Speed Designer installation folder at <IronSpeedInstallationFolderPath>\Restful\ManageAdmin.

See Also

Creating RESTful Applications

Deployment

Troubleshooting

Third Party Application

Implementation Details