|
Note! This Manual is for the "Windows authentication" version, which is designed to work with existing Windows server or Active Directory accounts and Windows authentication. If you want to create accounts by yourself and store their credentials in your own HTTP Commander XML database, you need to download the "Forms authentication" version! This Manual is for the Windows authentication version only! |
Web file manager |
Manual configuration of authentication mode
This section explains how to switch authentication mode in HTTP Commander and how to verify the current configuration.
There are two distributions of HTTP Commander available for download on the Element-It web site: Forms and Windows. They are preconfigured for the two primary authentication modes supported by the application: Forms and Windows, respectively. HTTP Commander also supports Forms with Windows users, Novell EDirectory, Shibboleth and Auth0 authentication modes, which are selected less frequently than the two primary modes. The installation section of this manual covers the specific authentication mode you've selected to download, either Windows or Forms. See the top of this page to view the version of the distribution which is installed. You can always switch to any other supported authentication mode with some amount of manual labor. You can do this irrespective of which distribution you've installed.
The difference between the two distributions of HTTP Commander is in the content of the configuration files (Web.config and HttpCommanderSettings.config) and manual. Configuration files contain the default settings for the selected authentication mode so you do not need to enter the settings manually. The manual provided in the Forms version of distribution is missing sections specific to Windows authentication mode of HTTP Commander and the manual of the Windows version of distribution is missing sections specific to Forms authentication mode (for users' convenience, of course). This section explains how to update configuration files for your specific authentication mode. If you need to change the authentication mode, you do not need to download a new distribution of HTTP Commander, just update the configuration files. In addition, updating the configuration files manually preserves all your settings which would be lost should you install HTTP Commander from scratch.
The Novell EDirectory, Shibboleth and Auth0 authentication modes of HTTP Commander are best documented in the Forms version of the manual. For the Forms with Windows users authentication mode of HTTP Commander we recommend that you obtain both versions of the manual, since neither of them contains complete documentation for this mixed mode.
To decide which authentication mode of HTTP Commander you need, consider the following characteristics.
In Windows and Forms with Windows users authentication modes the application uses windows accounts. That may be domain (web server must be joined to domain) or local accounts. In Forms authentication mode HTTP Commander maintains custom account database in an xml file. In Novell EDirectory mode the application authenticates against EDirectory. In Shibboleth mode, the account database is managed by the Shibboleth identity provider, HTTP Commander merely extracts the name of the current authenticated user. In Auth0 mode, the account database is stored and managed in Auth0 platform
This characteristic determines if you are able to use NTFS permissions to restrict access to the file system. When all requests are processed under the same user identity, NTFS permissions cannot be used to assign different level of access to different users of HTTP Commander. On the contrary, when the application impersonates users and performs each request under that user identity, the application can then leverage NTFS permissions.
In Windows and Forms with Windows users authentication modes, HTTP Commander processes requests under the identity of the logged in user. In other authentication modes, the application performs under the application pool identity — one identity for all users.
More details about Shibboleth integration, Novell EDirectory integration, Auth0 integration.
Warning Forms with Windows users authentication mode works unreliably on Windows Server 2003 and Windows Server 2003 R2. The problem is that the authenticated user sometimes is not impersonated, hence requests are processed under the anonymous user identity. Users will experience sporadic "access denied" errors in HTTP Commander.
The following instructions assume that you've completed installation procedure described in the Application install section of this manual.
| HTTP Commander AuthMode | IIS authentication1 |
|---|---|
| Forms, Forms with Windows Users, Novell EDirectory, Auth0 |
Anonymous access
Screenshot |
| Windows |
Basic Authentication or Windows Authentication2
Screenshot |
| Shibboleth | According to Shibboleth Service provider configuration manual. |
| HTTP Commander AuthMode | IIS authentication1 |
|---|---|
| Forms, Novell EDirectory, Auth0 |
Anonymous Authentication and Forms Authentication
Screenshot |
| Forms with Windows Users |
Anonymous Authentication, ASP.NET Impersonation and Forms Authentication
Screenshot |
| Windows |
Basic Authentication or Windows Authentication2 and ASP.NET Impersonation
Screenshot |
| Shibboleth | According to Shibboleth Service provider configuration manual. |
Ensure that the following settings are present in web.config file.
Note: All elements may contain additional attributes or sub-elements not shown on the listing. For example, Forms elements often contains a timeout attribute.
<configuration>
<system.web>
<identity impersonate="false" />
<authentication mode="Forms">
<forms loginUrl="Default.aspx" defaultUrl="Default.aspx"/>
</authentication>
</system.web>
</configuration>
<configuration>
<system.web>
<identity impersonate="true" />
<authentication mode="Forms">
<forms loginUrl="Default.aspx" defaultUrl="Default.aspx"/>
</authentication>
<httpModules>
<add name="FormsWithWindowsUsersAuthModule" type="HttpCommander.FormsWithWindowsUsersAuthModule, HttpCommander" />
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="FormsWithWindowsUsersAuthModule" type="HttpCommander.FormsWithWindowsUsersAuthModule, HttpCommander" preCondition="integratedMode" />
</modules>
</system.webServer>
</configuration>
<configuration>
<system.web>
<identity impersonate="true" />
<authentication mode="Windows">
</authentication>
</system.web>
</configuration>
<configuration>
<configSections>
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<system.web>
<identity impersonate="false" />
<authentication mode="Forms">
<forms loginUrl="Default.aspx" defaultUrl="Default.aspx"/>
</authentication>
<httpModules>
<add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
</system.webServer>
<microsoft.identityModel>
<service>
<securityTokenHandlers>
<remove type="Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add type="Auth0.AspNet.MachineKeySessionSecurityTokenHandler, Auth0.AspNet" />
</securityTokenHandlers>
</service>
</microsoft.identityModel>
</configuration>
See Auth0 integration.
<configuration>
<system.web>
<httpModules>
<add name="ShibbolethAuthenticationModule" type="HttpCommander.ShibbolethAuthenticationModule, HttpCommander" />
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="ShibbolethAuthenticationModule" type="HttpCommander.ShibbolethAuthenticationModule, HttpCommander" preCondition="integratedMode" />
</modules>
</system.webServer>
</configuration>
Please, consult the Shibboleth Service Provider configuration manual for other settings that must be present in Web.config file.
The settings in HttpCommanderSettings.config file specify HTTP Commander authentication mode. Ensure that all settings have the values specified in the table below.
| AuthMode | HTTP Commander setting |
|---|---|
| Windows |
Main/Version="ad" Main/WindowsUsersWithFormAuth="false" NovellEDirectory/EDirectory="false" Shibboleth/EnableShibbolethAuthentication="false" Auth0/EnableAuth0="false" |
| Forms |
Main/Version="st" Main/WindowsUsersWithFormAuth="false" NovellEDirectory/EDirectory="false" Shibboleth/EnableShibbolethAuthentication="false" Auth0/EnableAuth0="false" |
| Forms for Windows users |
Main/Version="st" Main/WindowsUsersWithFormAuth="true" NovellEDirectory/EDirectory="false" Shibboleth/EnableShibbolethAuthentication="false" Auth0/EnableAuth0="false" |
| Novell EDirectory |
Main/Version="st" Main/WindowsUsersWithFormAuth="false" NovellEDirectory/EDirectory="true" Shibboleth/EnableShibbolethAuthentication="false" Auth0/EnableAuth0="false" |
| Shibboleth |
Main/Version="st" Main/WindowsUsersWithFormAuth="false" NovellEDirectory/EDirectory="false" Shibboleth/EnableShibbolethAuthentication="true" Auth0/EnableAuth0="false" |
| Auth0 |
Main/Version="st" Main/WindowsUsersWithFormAuth="false" NovellEDirectory/EDirectory="false" Shibboleth/EnableShibbolethAuthentication="false" Auth0/EnableAuth0="true" and also not empty all Auth0 parameters |
Note 1 The IIS authentication column specifies authentication items that should be enabled in IIS, all other authentication items should be disabled.
Note 2 See Windows vs Basic authentication.