Show / Hide Table of Contents

Mapped Connections

Mapped connections allow Aras administrators to configure how Innovator.Client connects to a given Aras installation. In particular, it currently allows for

  • Connections sent to a single URL can be redirected to other application servers based on the database that is selected.
  • An authentication service can be specified. If provided, credentials will first be sent to that service. The service will then respond with the credentials that the client will use to log in to Innovator.

Configuring

No changes have to be made to client-side code to start using mapped connections. Rather, the @Innovator.Client.Factory.GetConnection code will look for a mapping file by default. Mapping files should be deployed at http://{web_server_location}/Server/Mapping.xml. A sample mapping file might look like

<Servers>
  <Server url="https://prod_app_server.company.com/address" auth="md5">
    <endpoint action="Auth">
      <uri>https://authentication_service.company.com/address</uri>
    </endpoint>
    <DB id="PROD" />
  </Server>
  <Server url="https://dev_app_server.company.com/address" auth="md5">
    <endpoint action="Auth">
      <uri>https://authentication_service.company.com/address</uri>
    </endpoint>
    <DB id="QA" />
    <DB id="DEV" />
  </Server>
</Servers>
Note

The auth attribute of md5 simply indicates that the server is a standard Aras Innovator server which leverages the MD5 hash of the password as its authentication mechanism

For this file, the Innovator.Client code will present the databases PROD, QA, and DEV to the user. Any connection to PROD will be sent to the URL https://authentication_service.company.com/address while connections to QA or DEV will go to https://dev_app_server.company.com/address. In addition, all login requests will first be directed to https://authentication_service.company.com/address

Authentication Service

If an authentication service is declared, it should be configured as follows:

  • Credentials are sent to the authentication service using standard HTTP transport protocols.
    Therefore, your service should respond to unauthenticated requests with a standard HTTP 401 authentication challenge looking for either Basic, Digest, or Windows (i.e. NTML/Kerberos) formatted credentials. Additionally, the database that the user is attempting to connect to will be provided as a query string parameter. The authentication service should respond to an authenticated request with XML that indicates the user name and password that the client should use when authenticating to Aras Innovator directly, as indicated below.
<Result>
  <user>{username that will be sent to innovator}</user>
  <password>{username that will be sent to innovator}</password>
  <hash>{whether the password should be hashed 
         before sending it to Aras; either 'true' or 'false'}</hash>
</Result>

Therefore, a sample exchange might consist of:

Client

GET https://authentication_service.company.com/address?db=DEV

Server

HTTP/1.1 401 Access Denied
WWW-Authenticate: Basic realm="company.com"
Content-Length: 0

Client

GET https://authentication_service.company.com/address?db=DEV
Authorization: Basic bmFtZTpwYXNzd29yZA==

Server

<Result>
  <user>name</user>
  <password>password</password>
  <hash>true</hash>
</Result>
  • Improve this Doc
Back to top Copyright © 2015-2017 Microsoft
Generated by DocFX