<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad</link><description /><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad</link><pubDate>Tue, 04 Aug 2020 19:48:33 GMT</pubDate><guid isPermaLink="false">93bab97b-8b42-4c32-a35f-3a1190917a56</guid><dc:creator>Miles Dunn</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad#comments</comments><description>Current Revision posted to User Documentation by Miles Dunn on 08/04/2020 19:48:33&lt;br /&gt;
&lt;div class="message warning"&gt;If you want to authenticate to an external Active Directory, we recommend using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Telligent/Saml"&gt;SAML&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.microsoft.com/en-us/windows-server/identity/active-directory-federation-services"&gt;ADFS&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of Windows / Active Directory authentication as outlined in this document.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;For internal communities that need to sync members with Active Directory, Windows authentication can be enabled using this guide.&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqap0"&gt;&lt;a name="Configure_Zimbra_Community_for_Windows_Authentication"&gt;&lt;/a&gt;Configure Telligent Community for Windows Authentication&lt;/h2&gt;
&lt;p&gt;The Windows SSO Module is configured through the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. As an alternative to directly editing this file (because applying a future upgrade to Telligent Community will wipe out changes), we can make our changes through an external&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. (Note: Out of the box, Telligent Community does not include a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq1"&gt;&lt;a id="Enable_the_Windows_Authentication_Module" name="Enable_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Enable the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;To enable the Windows Authentication module, we&amp;#39;ll set the&amp;nbsp;extensionModules&amp;#39;s&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;attribute to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;true&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;by adding an Override entry&amp;nbsp;into the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file:&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules&amp;quot;&lt;br /&gt;    mode = &amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;enabled&amp;quot;&lt;br /&gt;    value=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1eetfmqaq2"&gt;&lt;a id="Configure_the_Windows_Authentication_Module" name="Configure_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Configure the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;The following options may be configured. To configure a particular option, add the provided override into your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. If you want to use a different value for the option than used in the example, replace the highlighted section of the overrides with your own value. Copy your changed&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file into your Telligent&amp;nbsp;Job Service directory, overwriting the pre-packaged override file if one exists. The default path for this file is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;C:\Program Files\Telligent\Job Service&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;allowAutoUserRegistration&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Determines whether you want Telligent Community to automatically create new accounts if an authenticated user who doesn&amp;#39;t already have an account accesses Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;allowAutoUserRegistration&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminWindowsGroupIsSystemAdministrator&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&amp;nbsp;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Controls whether members of the Administrators group are automatically treated as administrators by Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroupIsSystemAdministrator&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminwindowsGroup&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Administrators&lt;/em&gt;)&lt;br /&gt;If&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;span class="tdocs-path"&gt;adminWindowsGroupIsSystemAdministrator&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;is set to true, this specifies the role which will be automatically added as an administrator in Telligent Community. To change this role to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;&lt;span style="font-family:courier new,courier;"&gt;MyAdministrativeGroup&lt;/span&gt;,&amp;nbsp;&lt;/span&gt;use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroup&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;MyAdministrativeGroup&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;stripDomainName&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Windows usernames are normally in the form&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;DOMAIN\UserNameNAME&lt;/span&gt;. By default, Telligent Community strips the domain name from a user&amp;#39;s username when creating the user. If you do not want to strip the domain name, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;stripDomainName&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;emailDomain&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;@TempURI.org&lt;/em&gt;)&lt;br /&gt;Specifies the domain name that is appended to a user&amp;#39;s username when creating the user in Telligent Community. To change this to Telligent.com, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;emailDomain&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;@Telligent.com&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;profileRefreshInterval&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;7&lt;/em&gt;)&lt;br /&gt;Specifies the interval (in days) after which Telligent Community will refresh users. To change this value to occurring every day (every 24 hours), use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;profileRefreshInterval&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;1&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq3"&gt;&lt;a id="Validate_the_Username_Pattern" name="Validate_the_Username_Pattern"&gt;&lt;/a&gt;Validate the Username Pattern&lt;/h3&gt;
&lt;p&gt;By default, Telligent Community only allows the most common characters to be used in a user name. Usernames are limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alphanumeric characters (A-z, 0-9)&lt;/li&gt;
&lt;li&gt;Underscores (_)&lt;/li&gt;
&lt;li&gt;Hyphens (-)&lt;/li&gt;
&lt;li&gt;Periods (.)&lt;/li&gt;
&lt;li&gt;At signs (@)&lt;/li&gt;
&lt;li&gt;Spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the user names in your Active Directory include characters other than these, you must explicitly configure Telligent Community to allow nonstandard characters&amp;nbsp;in user names in &lt;strong&gt;Administration &amp;gt; Authentication &amp;gt; Authentication Options&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq4"&gt;&lt;a id="Change_the_Authentication_Mode_to_Windows" name="Change_the_Authentication_Mode_to_Windows"&gt;&lt;/a&gt;Change the Authentication Mode to Windows&lt;/h3&gt;
&lt;p&gt;Open up the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;web.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file and find the line which looks like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;and change it to&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Windows&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;h3 id="configure_iis"&gt;&lt;a name="ConfigureIIS"&gt;&lt;/a&gt;Configure IIS&lt;/h3&gt;
&lt;p&gt;Internet Information Services (IIS), by default, allows anonymous users to access your community without being required to log in. Disable anonymous authentication within IIS on every web server in your environment, preventing users who aren&amp;#39;t already logged into the network from being recognized. You also need to configure IIS to accept Windows credentials:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open IIS Manager.&lt;/li&gt;
&lt;li&gt;Browse to your Telligent Community website in the Connections pane.&lt;/li&gt;
&lt;li&gt;In the IIS section of the right pane, in Features View, double-click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Disable all authentication types except&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Windows Authentication&lt;/strong&gt;, leaving Windows Authentication as the only enabled authentication type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point you can now authenticate against Active Directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to test it from another computer or virtual machine. Occasionally Microsoft IIS can get into an infinite loop when you try to view a Windows Auth protected site from the same computer that is hosting that site. If you encounter authentication errors when using Windows Authentication against localhost, refer to Microsoft&amp;#39;s KB 896861.&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqaq5"&gt;&lt;a id="Setup_the_Role_and_Profile_Synchronization_Job" name="Setup_the_Role_and_Profile_Synchronization_Job"&gt;&lt;/a&gt;Setup the Role and Profile Synchronization Job&lt;/h2&gt;
&lt;p&gt;Telligent Community supports the use of LDAP for syncing Role and Profile information between your community and Active Directory. While this setup is not neccessary to simply authenticate against Active Directory, setting up the synchronization job enables the user profile and user roles to be synchronized.&lt;/p&gt;
&lt;h3 id="install_the_ldap_package"&gt;&lt;a name="Install_the_LDAP_Package"&gt;&lt;/a&gt;Install the LDAP Package&lt;/h3&gt;
&lt;p class="tdocs-note"&gt;All steps must be followed before LDAP will work on your community.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Packages.config&lt;/span&gt;&amp;nbsp;file in both&amp;nbsp;community&amp;#39;s web directory, and Job Server (by default).&lt;/p&gt;
&lt;p&gt;Out of the box, you should have&amp;nbsp;the following in your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;packages.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. However, if you do not see this section, add it verbatim:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!-- This file determines which packages have been added to Telligent Community --&amp;gt;&lt;br /&gt;&amp;lt;Packages&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Package Name=&amp;quot;Evolution&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;12994783-22B4-47fe-822A-B71B6F1B6C83&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Packages&amp;gt;&lt;/pre&gt;
&lt;p&gt;The package is required and should not be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To configure LDAP authentication, you will need to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;add (not substitute)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;the following line between the &amp;ldquo;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;Packages&amp;gt;&lt;/span&gt;&amp;rdquo; tags in the XML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Package Name=&amp;quot;Ldap&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;4BF1091D-376C-42b2-B375-E2FE9480E845&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p class="tdocs-note"&gt;This file is case-sensitive, so if you use &amp;quot;name&amp;quot; instead of &amp;quot;Name&amp;quot; then you will have issues with your configuration. Also, the &amp;quot;Id&amp;quot; must be a unique number across all of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq6"&gt;&lt;/h3&gt;
&lt;h3 id="configuring_ldap"&gt;&lt;a name="Configuring_LDAP"&gt;&lt;/a&gt;Configuring LDAP&amp;nbsp;Connection Details&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;LDAP.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file&amp;nbsp;with your the mappings of Telligent to AD profile fields. See [[How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?]] for details on configuring the LDAP.config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supply your LDAP connection details to Telligent Community&amp;nbsp;by doing the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open both the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file in your web directory, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Telligent.Jobs.Server.exe.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your Job Server directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Locate the line that says&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;. In this top section, add the following line:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;div class="tdocs-note"&gt;This section does not go in any of the existing section groups. Place the line right before the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;as in the following example:
&lt;pre class="tdocs-path"&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the section below right after the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(so that it&amp;#39;s between&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;).&lt;/p&gt;
&lt;pre&gt;&amp;lt;LdapConnection&amp;gt;
   &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;LDAP://&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;389&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;
&amp;lt;/LdapConnection&amp;gt;&lt;/pre&gt;
&lt;p&gt;The attributes of an LDAP connection provide the following elements:&lt;/p&gt;
&lt;table class="WikiTable"&gt;
&lt;tbody&gt;
&lt;tr class="WikiTableBgBlue"&gt;
&lt;td width="25%"&gt;&lt;strong&gt;Attribute Name&lt;/strong&gt;&lt;/td&gt;
&lt;td width="75%"&gt;&lt;strong&gt;Attribute Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The address where the LDAP server can be found. &amp;nbsp;If configured with&amp;nbsp;&amp;quot;LDAP:\\&amp;quot; or &amp;quot;GC:\\&amp;quot;, then the directory servers are auto detected based on the current machine&amp;#39;s Active Directory domain membership.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Port&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The port number where&amp;nbsp;the LDAP server is listening for requests.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;BaseDN&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The base Distinguished Name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;UserDN&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The Distinguished Name for the user that will be used by Community Server to connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The password that will be used by Community Server to&amp;nbsp;connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The authentication type that will be used on the connection. Default is Secure. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Secure&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in NTLM authentication being used. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SecureSocketsLayer&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in an SSL- encrypted&amp;nbsp;authentication being used. More values can be found in the &amp;quot;Members&amp;quot; table&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Save the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now be able to sync LDAP&amp;nbsp;roles to Telligent Community as well as the profile fields configured in ldap.config&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq7"&gt;&lt;a id="Considerations_for_a_Multi-Domain_Environment" name="Considerations_for_a_Multi-Domain_Environment"&gt;&lt;/a&gt;Considerations for a Multi-Domain Environment&lt;/h3&gt;
&lt;p&gt;To configure LDAP to work in a multi-domain environment, you need to point Telligent Community to the top-level domain&amp;#39;s Global Catalog server. To do this, you need to change the server and port settings in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LdapConnection&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section of your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;web.config&lt;/span&gt;. You should change the Server to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;. When using just&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;, Telligent Community will only be able to look up users within that specific domain. By using the Global Catalog, it is able to look up users and groups in any child domains as well. Use port 3268 instead of port 389.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="tdocs-path"&gt;&amp;lt;LdapConnection&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;&lt;span&gt;GC://&lt;/span&gt;mycompany.com&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;&lt;span&gt;3268&lt;/span&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/LdapConnection&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p class="tdocs-note"&gt;The server setting is case-sensitive. Be sure that the server in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://mycompany.com&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;setting is the name of the root domain in the forest.&lt;/p&gt;
&lt;p&gt;Currently when using a multi-domain environment, Telligent Community won&amp;#39;t be able to allow profile updates. The Global Catalog is read-only, and Telligent Community doesn&amp;#39;t support issuing updates to the individual domain controllers within the environment. To avoid any issues, it is recommended to edit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;ldap.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and change the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;AccessLevel&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;settings to &amp;quot;&lt;span&gt;ReadOnly&lt;/span&gt;&amp;quot; for all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Attribute&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;p&gt;With a multi-domain environment, take special care about potential naming conflicts across domains. If there are two users with the username &amp;quot;jdoe&amp;quot; across two domains, Telligent Community may have issues knowing which user to retrieve from LDAP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad/revision/4</link><pubDate>Tue, 04 Aug 2020 19:43:14 GMT</pubDate><guid isPermaLink="false">93bab97b-8b42-4c32-a35f-3a1190917a56</guid><dc:creator>Miles Dunn</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad#comments</comments><description>Revision 4 posted to User Documentation by Miles Dunn on 08/04/2020 19:43:14&lt;br /&gt;
&lt;div class="message warning"&gt;If you want to authenticate to an external Active Directory, we recommend using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Telligent/Saml"&gt;SAML&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://technet.microsoft.com/en-gb/windowsserver/dd448613.aspx"&gt;ADFS&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of Windows / Active Directory authentication as outlined in this document.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;For internal communities that need to sync members with Active Directory, Windows authentication can be enabled using this guide.&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqap0"&gt;&lt;a name="Configure_Zimbra_Community_for_Windows_Authentication"&gt;&lt;/a&gt;Configure Telligent Community for Windows Authentication&lt;/h2&gt;
&lt;p&gt;The Windows SSO Module is configured through the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. As an alternative to directly editing this file (because applying a future upgrade to Telligent Community will wipe out changes), we can make our changes through an external&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. (Note: Out of the box, Telligent Community does not include a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq1"&gt;&lt;a id="Enable_the_Windows_Authentication_Module" name="Enable_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Enable the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;To enable the Windows Authentication module, we&amp;#39;ll set the&amp;nbsp;extensionModules&amp;#39;s&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;attribute to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;true&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;by adding an Override entry&amp;nbsp;into the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file:&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules&amp;quot;&lt;br /&gt;    mode = &amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;enabled&amp;quot;&lt;br /&gt;    value=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1eetfmqaq2"&gt;&lt;a id="Configure_the_Windows_Authentication_Module" name="Configure_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Configure the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;The following options may be configured. To configure a particular option, add the provided override into your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. If you want to use a different value for the option than used in the example, replace the highlighted section of the overrides with your own value. Copy your changed&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file into your Telligent&amp;nbsp;Job Service directory, overwriting the pre-packaged override file if one exists. The default path for this file is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;C:\Program Files\Telligent\Job Service&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;allowAutoUserRegistration&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Determines whether you want Telligent Community to automatically create new accounts if an authenticated user who doesn&amp;#39;t already have an account accesses Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;allowAutoUserRegistration&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminWindowsGroupIsSystemAdministrator&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&amp;nbsp;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Controls whether members of the Administrators group are automatically treated as administrators by Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroupIsSystemAdministrator&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminwindowsGroup&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Administrators&lt;/em&gt;)&lt;br /&gt;If&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;span class="tdocs-path"&gt;adminWindowsGroupIsSystemAdministrator&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;is set to true, this specifies the role which will be automatically added as an administrator in Telligent Community. To change this role to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;&lt;span style="font-family:courier new,courier;"&gt;MyAdministrativeGroup&lt;/span&gt;,&amp;nbsp;&lt;/span&gt;use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroup&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;MyAdministrativeGroup&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;stripDomainName&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Windows usernames are normally in the form&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;DOMAIN\UserNameNAME&lt;/span&gt;. By default, Telligent Community strips the domain name from a user&amp;#39;s username when creating the user. If you do not want to strip the domain name, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;stripDomainName&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;emailDomain&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;@TempURI.org&lt;/em&gt;)&lt;br /&gt;Specifies the domain name that is appended to a user&amp;#39;s username when creating the user in Telligent Community. To change this to Telligent.com, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;emailDomain&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;@Telligent.com&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;profileRefreshInterval&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;7&lt;/em&gt;)&lt;br /&gt;Specifies the interval (in days) after which Telligent Community will refresh users. To change this value to occurring every day (every 24 hours), use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;profileRefreshInterval&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;1&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq3"&gt;&lt;a id="Validate_the_Username_Pattern" name="Validate_the_Username_Pattern"&gt;&lt;/a&gt;Validate the Username Pattern&lt;/h3&gt;
&lt;p&gt;By default, Telligent Community only allows the most common characters to be used in a user name. Usernames are limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alphanumeric characters (A-z, 0-9)&lt;/li&gt;
&lt;li&gt;Underscores (_)&lt;/li&gt;
&lt;li&gt;Hyphens (-)&lt;/li&gt;
&lt;li&gt;Periods (.)&lt;/li&gt;
&lt;li&gt;At signs (@)&lt;/li&gt;
&lt;li&gt;Spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the user names in your Active Directory include characters other than these, you must explicitly configure Telligent Community to allow nonstandard characters&amp;nbsp;in user names in &lt;strong&gt;Administration &amp;gt; Authentication &amp;gt; Authentication Options&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq4"&gt;&lt;a id="Change_the_Authentication_Mode_to_Windows" name="Change_the_Authentication_Mode_to_Windows"&gt;&lt;/a&gt;Change the Authentication Mode to Windows&lt;/h3&gt;
&lt;p&gt;Open up the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;web.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file and find the line which looks like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;and change it to&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Windows&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;h3 id="configure_iis"&gt;&lt;a name="ConfigureIIS"&gt;&lt;/a&gt;Configure IIS&lt;/h3&gt;
&lt;p&gt;Internet Information Services (IIS), by default, allows anonymous users to access your community without being required to log in. Disable anonymous authentication within IIS on every web server in your environment, preventing users who aren&amp;#39;t already logged into the network from being recognized. You also need to configure IIS to accept Windows credentials:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open IIS Manager.&lt;/li&gt;
&lt;li&gt;Browse to your Telligent Community website in the Connections pane.&lt;/li&gt;
&lt;li&gt;In the IIS section of the right pane, in Features View, double-click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Disable all authentication types except&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Windows Authentication&lt;/strong&gt;, leaving Windows Authentication as the only enabled authentication type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point you can now authenticate against Active Directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to test it from another computer or virtual machine. Occasionally Microsoft IIS can get into an infinite loop when you try to view a Windows Auth protected site from the same computer that is hosting that site. If you encounter authentication errors when using Windows Authentication against localhost, refer to Microsoft&amp;#39;s KB 896861.&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqaq5"&gt;&lt;a id="Setup_the_Role_and_Profile_Synchronization_Job" name="Setup_the_Role_and_Profile_Synchronization_Job"&gt;&lt;/a&gt;Setup the Role and Profile Synchronization Job&lt;/h2&gt;
&lt;p&gt;Telligent Community supports the use of LDAP for syncing Role and Profile information between your community and Active Directory. While this setup is not neccessary to simply authenticate against Active Directory, setting up the synchronization job enables the user profile and user roles to be synchronized.&lt;/p&gt;
&lt;h3 id="install_the_ldap_package"&gt;&lt;a name="Install_the_LDAP_Package"&gt;&lt;/a&gt;Install the LDAP Package&lt;/h3&gt;
&lt;p class="tdocs-note"&gt;All steps must be followed before LDAP will work on your community.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Packages.config&lt;/span&gt;&amp;nbsp;file in both&amp;nbsp;community&amp;#39;s web directory, and Job Server (by default).&lt;/p&gt;
&lt;p&gt;Out of the box, you should have&amp;nbsp;the following in your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;packages.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. However, if you do not see this section, add it verbatim:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!-- This file determines which packages have been added to Telligent Community --&amp;gt;&lt;br /&gt;&amp;lt;Packages&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Package Name=&amp;quot;Evolution&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;12994783-22B4-47fe-822A-B71B6F1B6C83&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Packages&amp;gt;&lt;/pre&gt;
&lt;p&gt;The package is required and should not be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To configure LDAP authentication, you will need to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;add (not substitute)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;the following line between the &amp;ldquo;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;Packages&amp;gt;&lt;/span&gt;&amp;rdquo; tags in the XML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Package Name=&amp;quot;Ldap&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;4BF1091D-376C-42b2-B375-E2FE9480E845&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p class="tdocs-note"&gt;This file is case-sensitive, so if you use &amp;quot;name&amp;quot; instead of &amp;quot;Name&amp;quot; then you will have issues with your configuration. Also, the &amp;quot;Id&amp;quot; must be a unique number across all of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq6"&gt;&lt;/h3&gt;
&lt;h3 id="configuring_ldap"&gt;&lt;a name="Configuring_LDAP"&gt;&lt;/a&gt;Configuring LDAP&amp;nbsp;Connection Details&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;LDAP.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file&amp;nbsp;with your the mappings of Telligent to AD profile fields. See [[How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?]] for details on configuring the LDAP.config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supply your LDAP connection details to Telligent Community&amp;nbsp;by doing the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open both the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file in your web directory, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Telligent.Jobs.Server.exe.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your Job Server directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Locate the line that says&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;. In this top section, add the following line:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;div class="tdocs-note"&gt;This section does not go in any of the existing section groups. Place the line right before the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;as in the following example:
&lt;pre class="tdocs-path"&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the section below right after the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(so that it&amp;#39;s between&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;).&lt;/p&gt;
&lt;pre&gt;&amp;lt;LdapConnection&amp;gt;
   &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;LDAP://&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;389&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;
&amp;lt;/LdapConnection&amp;gt;&lt;/pre&gt;
&lt;p&gt;The attributes of an LDAP connection provide the following elements:&lt;/p&gt;
&lt;table class="WikiTable"&gt;
&lt;tbody&gt;
&lt;tr class="WikiTableBgBlue"&gt;
&lt;td width="25%"&gt;&lt;strong&gt;Attribute Name&lt;/strong&gt;&lt;/td&gt;
&lt;td width="75%"&gt;&lt;strong&gt;Attribute Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The address where the LDAP server can be found. &amp;nbsp;If configured with&amp;nbsp;&amp;quot;LDAP:\\&amp;quot; or &amp;quot;GC:\\&amp;quot;, then the directory servers are auto detected based on the current machine&amp;#39;s Active Directory domain membership.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Port&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The port number where&amp;nbsp;the LDAP server is listening for requests.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;BaseDN&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The base Distinguished Name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;UserDN&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The Distinguished Name for the user that will be used by Community Server to connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The password that will be used by Community Server to&amp;nbsp;connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The authentication type that will be used on the connection. Default is Secure. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Secure&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in NTLM authentication being used. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SecureSocketsLayer&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in an SSL- encrypted&amp;nbsp;authentication being used. More values can be found in the &amp;quot;Members&amp;quot; table&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Save the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now be able to sync LDAP&amp;nbsp;roles to Telligent Community as well as the profile fields configured in ldap.config&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq7"&gt;&lt;a id="Considerations_for_a_Multi-Domain_Environment" name="Considerations_for_a_Multi-Domain_Environment"&gt;&lt;/a&gt;Considerations for a Multi-Domain Environment&lt;/h3&gt;
&lt;p&gt;To configure LDAP to work in a multi-domain environment, you need to point Telligent Community to the top-level domain&amp;#39;s Global Catalog server. To do this, you need to change the server and port settings in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LdapConnection&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section of your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;web.config&lt;/span&gt;. You should change the Server to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;. When using just&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;, Telligent Community will only be able to look up users within that specific domain. By using the Global Catalog, it is able to look up users and groups in any child domains as well. Use port 3268 instead of port 389.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="tdocs-path"&gt;&amp;lt;LdapConnection&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;&lt;span&gt;GC://&lt;/span&gt;mycompany.com&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;&lt;span&gt;3268&lt;/span&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/LdapConnection&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p class="tdocs-note"&gt;The server setting is case-sensitive. Be sure that the server in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://mycompany.com&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;setting is the name of the root domain in the forest.&lt;/p&gt;
&lt;p&gt;Currently when using a multi-domain environment, Telligent Community won&amp;#39;t be able to allow profile updates. The Global Catalog is read-only, and Telligent Community doesn&amp;#39;t support issuing updates to the individual domain controllers within the environment. To avoid any issues, it is recommended to edit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;ldap.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and change the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;AccessLevel&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;settings to &amp;quot;&lt;span&gt;ReadOnly&lt;/span&gt;&amp;quot; for all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Attribute&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;p&gt;With a multi-domain environment, take special care about potential naming conflicts across domains. If there are two users with the username &amp;quot;jdoe&amp;quot; across two domains, Telligent Community may have issues knowing which user to retrieve from LDAP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad/revision/3</link><pubDate>Tue, 04 Aug 2020 19:40:43 GMT</pubDate><guid isPermaLink="false">93bab97b-8b42-4c32-a35f-3a1190917a56</guid><dc:creator>Miles Dunn</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad#comments</comments><description>Revision 3 posted to User Documentation by Miles Dunn on 08/04/2020 19:40:43&lt;br /&gt;
&lt;div class="message warning"&gt;If you want to authenticate to an external Active Directory, we recommend using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Telligent/Saml"&gt;SAML&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://technet.microsoft.com/en-gb/windowsserver/dd448613.aspx"&gt;ADFS&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of Windows / Active Directory authentication as outlined in this document.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;For internal communities that need to sync members with Active Directory, Windows authentication can be enabled using this guide.&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqap0"&gt;&lt;a name="Configure_Zimbra_Community_for_Windows_Authentication"&gt;&lt;/a&gt;Configure Telligent Community for Windows Authentication&lt;/h2&gt;
&lt;p&gt;The Windows SSO Module is configured through the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. As an alternative to directly editing this file (because applying a future upgrade to Telligent Community will wipe out changes), we can make our changes through an external&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. (Note: Out of the box, Telligent Community does not include a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&amp;nbsp;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq1"&gt;&lt;a id="Enable_the_Windows_Authentication_Module" name="Enable_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Enable the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;To enable the Windows Authentication module, we&amp;#39;ll set the&amp;nbsp;extensionModules&amp;#39;s&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;attribute to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;true&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;by adding an Override entry&amp;nbsp;into the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file:&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules&amp;quot;&lt;br /&gt;    mode = &amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;enabled&amp;quot;&lt;br /&gt;    value=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1eetfmqaq2"&gt;&lt;a id="Configure_the_Windows_Authentication_Module" name="Configure_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Configure the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;The following options may be configured. To configure a particular option, add the provided override into your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. If you want to use a different value for the option than used in the example, replace the highlighted section of the overrides with your own value. Copy your changed&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file into your Telligent&amp;nbsp;Job Service directory, overwriting the pre-packaged override file if one exists. The default path for this file is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;C:\Program Files\Telligent\Job Service&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;allowAutoUserRegistration&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Determines whether you want Telligent Community to automatically create new accounts if an authenticated user who doesn&amp;#39;t already have an account accesses Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;allowAutoUserRegistration&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminWindowsGroupIsSystemAdministrator&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&amp;nbsp;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Controls whether members of the Administrators group are automatically treated as administrators by Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroupIsSystemAdministrator&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminwindowsGroup&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Administrators&lt;/em&gt;)&lt;br /&gt;If&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;span class="tdocs-path"&gt;adminWindowsGroupIsSystemAdministrator&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;is set to true, this specifies the role which will be automatically added as an administrator in Telligent Community. To change this role to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;&lt;span style="font-family:courier new,courier;"&gt;MyAdministrativeGroup&lt;/span&gt;,&amp;nbsp;&lt;/span&gt;use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroup&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;MyAdministrativeGroup&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;stripDomainName&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Windows usernames are normally in the form&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;DOMAIN\UserNameNAME&lt;/span&gt;. By default, Telligent Community strips the domain name from a user&amp;#39;s username when creating the user. If you do not want to strip the domain name, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;stripDomainName&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;emailDomain&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;@TempURI.org&lt;/em&gt;)&lt;br /&gt;Specifies the domain name that is appended to a user&amp;#39;s username when creating the user in Telligent Community. To change this to Telligent.com, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;emailDomain&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;@Telligent.com&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;profileRefreshInterval&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;7&lt;/em&gt;)&lt;br /&gt;Specifies the interval (in days) after which Telligent Community will refresh users. To change this value to occurring every day (every 24 hours), use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;profileRefreshInterval&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;1&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq3"&gt;&lt;a id="Validate_the_Username_Pattern" name="Validate_the_Username_Pattern"&gt;&lt;/a&gt;Validate the Username Pattern&lt;/h3&gt;
&lt;p&gt;By default, Telligent Community only allows the most common characters to be used in a user name. Usernames are limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alphanumeric characters (A-z, 0-9)&lt;/li&gt;
&lt;li&gt;Underscores (_)&lt;/li&gt;
&lt;li&gt;Hyphens (-)&lt;/li&gt;
&lt;li&gt;Periods (.)&lt;/li&gt;
&lt;li&gt;At signs (@)&lt;/li&gt;
&lt;li&gt;Spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the user names in your Active Directory include characters other than these, you must explicitly configure Telligent Community to allow nonstandard characters&amp;nbsp;in user names in &lt;strong&gt;Administration &amp;gt; Authentication &amp;gt; Authentication Options&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="mcetoc_1eetfmqaq4"&gt;&lt;a id="Change_the_Authentication_Mode_to_Windows" name="Change_the_Authentication_Mode_to_Windows"&gt;&lt;/a&gt;Change the Authentication Mode to Windows&lt;/h3&gt;
&lt;p&gt;Open up the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;web.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file and find the line which looks like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;and change it to&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Windows&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;h3 id="configure_iis"&gt;&lt;a name="ConfigureIIS"&gt;&lt;/a&gt;Configure IIS&lt;/h3&gt;
&lt;p&gt;Internet Information Services (IIS), by default, allows anonymous users to access your community without being required to log in. Disable anonymous authentication within IIS on every web server in your environment, preventing users who aren&amp;#39;t already logged into the network from being recognized. You also need to configure IIS to accept Windows credentials:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open IIS Manager.&lt;/li&gt;
&lt;li&gt;Browse to your Telligent Community website in the Connections pane.&lt;/li&gt;
&lt;li&gt;In the IIS section of the right pane, in Features View, double-click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Disable all authentication types except&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Windows Authentication&lt;/strong&gt;, leaving Windows Authentication as the only enabled authentication type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point you can now authenticate against Active Directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to test it from another computer or virtual machine. Occasionally Microsoft IIS can get into an infinite loop when you try to view a Windows Auth protected site from the same computer that is hosting that site. If you encounter authentication errors when using Windows Authentication against localhost, refer to Microsoft&amp;#39;s KB 896861.&lt;/p&gt;
&lt;h2 id="mcetoc_1eetfmqaq5"&gt;&lt;a id="Setup_the_Role_and_Profile_Synchronization_Job" name="Setup_the_Role_and_Profile_Synchronization_Job"&gt;&lt;/a&gt;Setup the Role and Profile Synchronization Job&lt;/h2&gt;
&lt;p&gt;Telligent Community supports the use of LDAP for syncing Role and Profile information between your community and Active Directory. While this setup is not neccessary to simply authenticate against Active Directory, setting up the synchronization job enables the user profile and user roles to be synchronized.&lt;/p&gt;
&lt;h3 id="install_the_ldap_package"&gt;&lt;a name="Install_the_LDAP_Package"&gt;&lt;/a&gt;Install the LDAP Package&lt;/h3&gt;
&lt;p class="tdocs-note"&gt;All steps must be followed before LDAP will work on your community.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Packages.config&lt;/span&gt;&amp;nbsp;file in both&amp;nbsp;community&amp;#39;s web directory, and Job Server (by default).&lt;/p&gt;
&lt;p&gt;Out of the box, you should have&amp;nbsp;the following in your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;packages.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. However, if you do not see this section, add it verbatim:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!-- This file determines which packages have been added to Telligent Community --&amp;gt;&lt;br /&gt;&amp;lt;Packages&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Package Name=&amp;quot;Evolution&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;12994783-22B4-47fe-822A-B71B6F1B6C83&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Packages&amp;gt;&lt;/pre&gt;
&lt;p&gt;The package is required and should not be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To configure LDAP authentication, you will need to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;add (not substitute)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;the following line between the &amp;ldquo;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;Packages&amp;gt;&lt;/span&gt;&amp;rdquo; tags in the XML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Package Name=&amp;quot;Ldap&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;4BF1091D-376C-42b2-B375-E2FE9480E845&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p class="tdocs-note"&gt;This file is case-sensitive, so if you use &amp;quot;name&amp;quot; instead of &amp;quot;Name&amp;quot; then you will have issues with your configuration. Also, the &amp;quot;Id&amp;quot; must be a unique number across all of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq6"&gt;&lt;/h3&gt;
&lt;h3 id="configuring_ldap"&gt;&lt;a name="Configuring_LDAP"&gt;&lt;/a&gt;Configuring LDAP&amp;nbsp;Connection Details&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;LDAP.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file&amp;nbsp;with your the mappings of Telligent to AD profile fields. See [[How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?]] for details on configuring the LDAP.config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supply your LDAP connection details to Telligent Community&amp;nbsp;by doing the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open both the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file in your web directory, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Telligent.Jobs.Server.exe.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your Job Server directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Locate the line that says&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;. In this top section, add the following line:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;div class="tdocs-note"&gt;This section does not go in any of the existing section groups. Place the line right before the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;as in the following example:
&lt;pre class="tdocs-path"&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the section below right after the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(so that it&amp;#39;s between&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;).&lt;/p&gt;
&lt;pre&gt;&amp;lt;LdapConnection&amp;gt;
   &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;LDAP://&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;389&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;
&amp;lt;/LdapConnection&amp;gt;&lt;/pre&gt;
&lt;p&gt;The attributes of an LDAP connection provide the following elements:&lt;/p&gt;
&lt;table class="WikiTable"&gt;
&lt;tbody&gt;
&lt;tr class="WikiTableBgBlue"&gt;
&lt;td width="25%"&gt;&lt;strong&gt;Attribute Name&lt;/strong&gt;&lt;/td&gt;
&lt;td width="75%"&gt;&lt;strong&gt;Attribute Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The address where the LDAP server can be found. &amp;nbsp;If configured with&amp;nbsp;&amp;quot;LDAP:\\&amp;quot; or &amp;quot;GC:\\&amp;quot;, then the directory servers are auto detected based on teh current machine&amp;#39;s Active Directory domain memberhsip.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Port&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The port number where&amp;nbsp;the LDAP server is listening for requests.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;BaseDN&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The base Distinguished Name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;UserDN&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The Distinguished Name for the user that will be used by Community Server to connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The password that will be used by Community Server to&amp;nbsp;connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The authentication type that will be used on the connection. Default is Secure. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Secure&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in NTLM authentication being used. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SecureSocketsLayer&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in an SSL- encrypted&amp;nbsp;authentication being used. More values can be found in the &amp;quot;Members&amp;quot; table&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Save the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now be able to sync LDAP&amp;nbsp;roles to Telligent Community as well as the profile fields configured in ldap.config&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1eetfmqaq7"&gt;&lt;a id="Considerations_for_a_Multi-Domain_Environment" name="Considerations_for_a_Multi-Domain_Environment"&gt;&lt;/a&gt;Considerations for a Multi-Domain Environment&lt;/h3&gt;
&lt;p&gt;To configure LDAP to work in a multi-domain environment, you need to point Telligent Community to the top-level domain&amp;#39;s Global Catalog server. To do this, you need to change the server and port settings in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LdapConnection&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section of your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;web.config&lt;/span&gt;. You should change the Server to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;. When using just&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;, Telligent Community will only be able to look up users within that specific domain. By using the Global Catalog, it is able to look up users and groups in any child domains as well. Use port 3268 instead of port 389.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="tdocs-path"&gt;&amp;lt;LdapConnection&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;&lt;span&gt;GC://&lt;/span&gt;mycompany.com&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;&lt;span&gt;3268&lt;/span&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/LdapConnection&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p class="tdocs-note"&gt;The server setting is case-sensitive. Be sure that the server in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://mycompany.com&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;setting is the name of the root domain in the forest.&lt;/p&gt;
&lt;p&gt;Currently when using a multi-domain environment, Telligent Community won&amp;#39;t be able to allow profile updates. The Global Catalog is read-only, and Telligent Community doesn&amp;#39;t support issuing updates to the individual domain controllers within the environment. To avoid any issues, it is recommended to edit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;ldap.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and change the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;AccessLevel&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;settings to &amp;quot;&lt;span&gt;ReadOnly&lt;/span&gt;&amp;quot; for all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Attribute&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;p&gt;With a multi-domain environment, take special care about potential naming conflicts across domains. If there are two users with the username &amp;quot;jdoe&amp;quot; across two domains, Telligent Community may have issues knowing which user to retrieve from LDAP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad/revision/2</link><pubDate>Thu, 18 Jul 2019 17:06:17 GMT</pubDate><guid isPermaLink="false">93bab97b-8b42-4c32-a35f-3a1190917a56</guid><dc:creator>Grant Pankonien</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad#comments</comments><description>Revision 2 posted to User Documentation by Grant Pankonien on 07/18/2019 17:06:17&lt;br /&gt;
&lt;div class="message warning"&gt;If you want to authenticate to an external Active Directory, we recommend using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Telligent/Saml"&gt;SAML&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://technet.microsoft.com/en-gb/windowsserver/dd448613.aspx"&gt;ADFS&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of Windows / Active Directory authentication as outlined in this document.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;For internal communities that need to sync members with Active Directory, Windows authentication can be enabled using this guide.&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2&gt;&lt;a name="Configure_Zimbra_Community_for_Windows_Authentication"&gt;&lt;/a&gt;Configure Telligent Community for Windows Authentication&lt;/h2&gt;
&lt;p&gt;The Windows SSO Module is configured through the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. As an alternative to directly editing this file (because applying a future upgrade to Telligent Community will wipe out changes), we can make our changes through an external&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. (Note: Out of the box, Telligent Community does not include a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Enable_the_Windows_Authentication_Module" name="Enable_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Enable the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;To enable the Windows Authentication module, we&amp;#39;ll set the&amp;nbsp;extensionModules&amp;#39;s&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;attribute to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;true&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;by adding an Override entry&amp;nbsp;into the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file:&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules&amp;quot;&lt;br /&gt;    mode = &amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;enabled&amp;quot;&lt;br /&gt;    value=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;h3&gt;&lt;a id="Configure_the_Windows_Authentication_Module" name="Configure_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Configure the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;The following options may be configured. To configure a particular option, add the provided override into your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. If you want to use a different value for the option than used in the example, replace the highlighted section of the overrides with your own value. Copy your changed&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file into your Telligent&amp;nbsp;Job Service directory, overwriting the pre-packaged override file if one exists. The default path for this file is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;C:\Program Files\Telligent\Job Service&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;allowAutoUserRegistration&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Determines whether you want Telligent Community to automatically create new accounts if an authenticated user who doesn&amp;#39;t already have an account accesses Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;allowAutoUserRegistration&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminWindowsGroupIsSystemAdministrator&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&amp;nbsp;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Controls whether members of the Administrators group are automatically treated as administrators by Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroupIsSystemAdministrator&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminwindowsGroup&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Administrators&lt;/em&gt;)&lt;br /&gt;If&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;span class="tdocs-path"&gt;adminWindowsGroupIsSystemAdministrator&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;is set to true, this specifies the role which will be automatically added as an administrator in Telligent Community. To change this role to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;&lt;span style="font-family:courier new,courier;"&gt;MyAdministrativeGroup&lt;/span&gt;,&amp;nbsp;&lt;/span&gt;use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroup&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;MyAdministrativeGroup&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;stripDomainName&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Windows usernames are normally in the form&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;DOMAIN\UserNameNAME&lt;/span&gt;. By default, Telligent Community strips the domain name from a user&amp;#39;s username when creating the user. If you do not want to strip the domain name, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;stripDomainName&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;emailDomain&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;@TempURI.org&lt;/em&gt;)&lt;br /&gt;Specifies the domain name that is appended to a user&amp;#39;s username when creating the user in Telligent Community. To change this to Telligent.com, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;emailDomain&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;@Telligent.com&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;profileRefreshInterval&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;7&lt;/em&gt;)&lt;br /&gt;Specifies the interval (in days) after which Telligent Community will refresh users. To change this value to occurring every day (every 24 hours), use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;profileRefreshInterval&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;1&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Validate_the_Username_Pattern" name="Validate_the_Username_Pattern"&gt;&lt;/a&gt;Validate the Username Pattern&lt;/h3&gt;
&lt;p&gt;By default, Telligent Community only allows the most common characters to be used in a user name. Usernames are limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alphanumeric characters (A-z, 0-9)&lt;/li&gt;
&lt;li&gt;Underscores (_)&lt;/li&gt;
&lt;li&gt;Hyphens (-)&lt;/li&gt;
&lt;li&gt;Periods (.)&lt;/li&gt;
&lt;li&gt;At signs (@)&lt;/li&gt;
&lt;li&gt;Spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the user names in your Active Directory include characters other than these, you must explicitly configure Telligent Community to allow nonstandard characters&amp;nbsp;in user names in &lt;strong&gt;Administration &amp;gt; Authentication &amp;gt; Authentication Options&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Change_the_Authentication_Mode_to_Windows" name="Change_the_Authentication_Mode_to_Windows"&gt;&lt;/a&gt;Change the Authentication Mode to Windows&lt;/h3&gt;
&lt;p&gt;Open up the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;web.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file and find the line which looks like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;and change it to&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Windows&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;h3 id="configure_iis"&gt;&lt;a name="ConfigureIIS"&gt;&lt;/a&gt;Configure IIS&lt;/h3&gt;
&lt;p&gt;Internet Information Services (IIS), by default, allows anonymous users to access your community without being required to log in. Disable anonymous authentication within IIS on every web server in your environment, preventing users who aren&amp;#39;t already logged into the network from being recognized. You also need to configure IIS to accept Windows credentials:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open IIS Manager.&lt;/li&gt;
&lt;li&gt;Browse to your Telligent Community website in the Connections pane.&lt;/li&gt;
&lt;li&gt;In the IIS section of the right pane, in Features View, double-click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Disable all authentication types except&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Windows Authentication&lt;/strong&gt;, leaving Windows Authentication as the only enabled authentication type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point you can now authenticate against Active Directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to test it from another computer or virtual machine. Occasionally Microsoft IIS can get into an infinite loop when you try to view a Windows Auth protected site from the same computer that is hosting that site. If you encounter authentication errors when using Windows Authentication against localhost, refer to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://support.microsoft.com/en-us/kb/896861"&gt;Microsoft&amp;#39;s KB 896861&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;a id="Setup_the_Role_and_Profile_Synchronization_Job" name="Setup_the_Role_and_Profile_Synchronization_Job"&gt;&lt;/a&gt;Setup the Role and Profile Synchronization Job&lt;/h2&gt;
&lt;p&gt;Telligent Community supports the use of LDAP for syncing Role and Profile information between your community and Active Directory. While this setup is not neccessary to simply authenticate against Active Directory, setting up the synchronization job enables the user profile and user roles to be synchronized.&lt;/p&gt;
&lt;h3 id="install_the_ldap_package"&gt;&lt;a name="Install_the_LDAP_Package"&gt;&lt;/a&gt;Install the LDAP Package&lt;/h3&gt;
&lt;p class="tdocs-note"&gt;All steps must be followed before LDAP will work on your community.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Packages.config&lt;/span&gt;&amp;nbsp;file in both&amp;nbsp;community&amp;#39;s web directory, and Job Server (by default).&lt;/p&gt;
&lt;p&gt;Out of the box, you should have&amp;nbsp;the following in your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;packages.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. However, if you do not see this section, add it verbatim:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!-- This file determines which packages have been added to Telligent Community --&amp;gt;&lt;br /&gt;&amp;lt;Packages&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Package Name=&amp;quot;Evolution&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;12994783-22B4-47fe-822A-B71B6F1B6C83&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Packages&amp;gt;&lt;/pre&gt;
&lt;p&gt;The package is required and should not be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To configure LDAP authentication, you will need to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;add (not substitute)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;the following line between the &amp;ldquo;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;Packages&amp;gt;&lt;/span&gt;&amp;rdquo; tags in the XML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Package Name=&amp;quot;Ldap&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;4BF1091D-376C-42b2-B375-E2FE9480E845&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p class="tdocs-note"&gt;This file is case-sensitive, so if you use &amp;quot;name&amp;quot; instead of &amp;quot;Name&amp;quot; then you will have issues with your configuration. Also, the &amp;quot;Id&amp;quot; must be a unique number across all of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3 id="configuring_ldap"&gt;&lt;a name="Configuring_LDAP"&gt;&lt;/a&gt;Configuring LDAP&amp;nbsp;Connection Details&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;LDAP.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file&amp;nbsp;with your the mappings of Telligent to AD profile fields. See [[How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?]] for details on configuring the LDAP.config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supply your LDAP connection details to Telligent Community&amp;nbsp;by doing the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open both the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file in your web directory, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Telligent.Jobs.Server.exe.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your Job Server directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Locate the line that says&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;. In this top section, add the following line:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;div class="tdocs-note"&gt;This section does not go in any of the existing section groups. Place the line right before the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;as in the following example:
&lt;pre class="tdocs-path"&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the section below right after the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(so that it&amp;#39;s between&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;).&lt;/p&gt;
&lt;pre&gt;&amp;lt;LdapConnection&amp;gt;
   &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;LDAP://&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;389&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;
&amp;lt;/LdapConnection&amp;gt;&lt;/pre&gt;
&lt;p&gt;The attributes of an LDAP connection provide the following elements:&lt;/p&gt;
&lt;table class="WikiTable"&gt;
&lt;tbody&gt;
&lt;tr class="WikiTableBgBlue"&gt;
&lt;td width="25%"&gt;&lt;strong&gt;Attribute Name&lt;/strong&gt;&lt;/td&gt;
&lt;td width="75%"&gt;&lt;strong&gt;Attribute Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The address where the LDAP server can be found. &amp;nbsp;If configured with&amp;nbsp;&amp;quot;LDAP:\\&amp;quot; or &amp;quot;GC:\\&amp;quot;, then the directory servers are auto detected based on teh current machine&amp;#39;s Active Directory domain memberhsip.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Port&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The port number where&amp;nbsp;the LDAP server is listening for requests.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;BaseDN&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The base Distinguished Name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;UserDN&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The Distinguished Name for the user that will be used by Community Server to connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The password that will be used by Community Server to&amp;nbsp;connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The authentication type that will be used on the connection. Default is Secure. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Secure&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in NTLM authentication being used. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SecureSocketsLayer&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in an SSL- encrypted&amp;nbsp;authentication being used. More values can be found in the &amp;quot;Members&amp;quot; table&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Save the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now be able to sync LDAP&amp;nbsp;roles to Telligent Community as well as the profile fields configured in ldap.config&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;a id="Considerations_for_a_Multi-Domain_Environment" name="Considerations_for_a_Multi-Domain_Environment"&gt;&lt;/a&gt;Considerations for a Multi-Domain Environment&lt;/h3&gt;
&lt;p&gt;To configure LDAP to work in a multi-domain environment, you need to point Telligent Community to the top-level domain&amp;#39;s Global Catalog server. To do this, you need to change the server and port settings in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LdapConnection&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section of your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;web.config&lt;/span&gt;. You should change the Server to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;. When using just&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;, Telligent Community will only be able to look up users within that specific domain. By using the Global Catalog, it is able to look up users and groups in any child domains as well. Use port 3268 instead of port 389.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="tdocs-path"&gt;&amp;lt;LdapConnection&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;&lt;span&gt;GC://&lt;/span&gt;mycompany.com&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;&lt;span&gt;3268&lt;/span&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/LdapConnection&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p class="tdocs-note"&gt;The server setting is case-sensitive. Be sure that the server in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://mycompany.com&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;setting is the name of the root domain in the forest.&lt;/p&gt;
&lt;p&gt;Currently when using a multi-domain environment, Telligent Community won&amp;#39;t be able to allow profile updates. The Global Catalog is read-only, and Telligent Community doesn&amp;#39;t support issuing updates to the individual domain controllers within the environment. To avoid any issues, it is recommended to edit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;ldap.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and change the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;AccessLevel&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;settings to &amp;quot;&lt;span&gt;ReadOnly&lt;/span&gt;&amp;quot; for all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Attribute&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;p&gt;With a multi-domain environment, take special care about potential naming conflicts across domains. If there are two users with the username &amp;quot;jdoe&amp;quot; across two domains, Telligent Community may have issues knowing which user to retrieve from LDAP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How can I enable authentication via Windows / Active Directory (AD)?</title><link>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad/revision/1</link><pubDate>Tue, 04 Jun 2019 20:11:49 GMT</pubDate><guid isPermaLink="false">93bab97b-8b42-4c32-a35f-3a1190917a56</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/62909/how-can-i-enable-authentication-via-windows-active-directory-ad#comments</comments><description>Revision 1 posted to User Documentation by Ben Tiedt on 06/04/2019 20:11:49&lt;br /&gt;
&lt;div class="message warning"&gt;If you want to authenticate to an external Active Directory, we recommend using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Telligent/Saml"&gt;SAML&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://technet.microsoft.com/en-gb/windowsserver/dd448613.aspx"&gt;ADFS&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of Windows / Active Directory authentication as outlined in this document.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;For internal communities that need to sync members with Active Directory, Windows authentication can be enabled using this guide.&lt;/p&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;h2&gt;&lt;a name="Configure_Zimbra_Community_for_Windows_Authentication"&gt;&lt;/a&gt;Configure Telligent Community for Windows Authentication&lt;/h2&gt;
&lt;p&gt;The Windows SSO Module is configured through the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. As an alternative to directly editing this file (because applying a future upgrade to Telligent Community will wipe out changes), we can make our changes through an external&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. (Note: Out of the box, Telligent Community does not include a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Enable_the_Windows_Authentication_Module" name="Enable_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Enable the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;To enable the Windows Authentication module, we&amp;#39;ll set the&amp;nbsp;extensionModules&amp;#39;s&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;attribute to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;true&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;by adding an Override entry&amp;nbsp;into the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file:&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules&amp;quot;&lt;br /&gt;    mode = &amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;enabled&amp;quot;&lt;br /&gt;    value=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;h3&gt;&lt;a id="Configure_the_Windows_Authentication_Module" name="Configure_the_Windows_Authentication_Module"&gt;&lt;/a&gt;Configure the Windows Authentication Module&lt;/h3&gt;
&lt;p&gt;The following options may be configured. To configure a particular option, add the provided override into your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. If you want to use a different value for the option than used in the example, replace the highlighted section of the overrides with your own value. Copy your changed&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;communityserver_override.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file into your Telligent&amp;nbsp;Job Service directory, overwriting the pre-packaged override file if one exists. The default path for this file is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;C:\Program Files\Telligent\Job Service&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;allowAutoUserRegistration&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Determines whether you want Telligent Community to automatically create new accounts if an authenticated user who doesn&amp;#39;t already have an account accesses Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;allowAutoUserRegistration&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminWindowsGroupIsSystemAdministrator&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&amp;nbsp;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Controls whether members of the Administrators group are automatically treated as administrators by Telligent Community. To turn this setting off, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroupIsSystemAdministrator&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;adminwindowsGroup&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Administrators&lt;/em&gt;)&lt;br /&gt;If&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&lt;span class="tdocs-path"&gt;adminWindowsGroupIsSystemAdministrator&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;is set to true, this specifies the role which will be automatically added as an administrator in Telligent Community. To change this role to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;&lt;span style="font-family:courier new,courier;"&gt;MyAdministrativeGroup&lt;/span&gt;,&amp;nbsp;&lt;/span&gt;use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;adminWindowsGroup&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;MyAdministrativeGroup&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;stripDomainName&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;true&lt;/em&gt;)&lt;br /&gt;Windows usernames are normally in the form&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;DOMAIN\UserNameNAME&lt;/span&gt;. By default, Telligent Community strips the domain name from a user&amp;#39;s username when creating the user. If you do not want to strip the domain name, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;stripDomainName&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;false&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;emailDomain&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;@TempURI.org&lt;/em&gt;)&lt;br /&gt;Specifies the domain name that is appended to a user&amp;#39;s username when creating the user in Telligent Community. To change this to Telligent.com, use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;emailDomain&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;@Telligent.com&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="padding-bottom:1em;"&gt;&lt;strong&gt;profileRefreshInterval&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Default:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;7&lt;/em&gt;)&lt;br /&gt;Specifies the interval (in days) after which Telligent Community will refresh users. To change this value to occurring every day (every 24 hours), use the following override:
&lt;pre&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/Core/extensionModules/add[@name='WindowsAuthentication']&amp;quot;&lt;br /&gt;    mode=&amp;quot;change&amp;quot;&lt;br /&gt;    name=&amp;quot;profileRefreshInterval&amp;quot;&lt;br /&gt;    value=&amp;quot;&lt;span style="background-color:#ffff00;"&gt;1&lt;/span&gt;&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Validate_the_Username_Pattern" name="Validate_the_Username_Pattern"&gt;&lt;/a&gt;Validate the Username Pattern&lt;/h3&gt;
&lt;p&gt;By default, Telligent Community only allows the most common characters to be used in a user name. Usernames are limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alphanumeric characters (A-z, 0-9)&lt;/li&gt;
&lt;li&gt;Underscores (_)&lt;/li&gt;
&lt;li&gt;Hyphens (-)&lt;/li&gt;
&lt;li&gt;Periods (.)&lt;/li&gt;
&lt;li&gt;At signs (@)&lt;/li&gt;
&lt;li&gt;Spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the user names in your Active Directory include characters other than these, you must explicitly configure Telligent Community to allow nonstandard characters&amp;nbsp;in user names in &lt;strong&gt;Administration &amp;gt; Authentication &amp;gt; Authentication Options&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Change_the_Authentication_Mode_to_Windows" name="Change_the_Authentication_Mode_to_Windows"&gt;&lt;/a&gt;Change the Authentication Mode to Windows&lt;/h3&gt;
&lt;p&gt;Open up the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;web.config&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file and find the line which looks like:&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;p&gt;and change it to&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&amp;lt;authentication mode=&amp;quot;Windows&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;h3 id="configure_iis"&gt;&lt;a name="ConfigureIIS"&gt;&lt;/a&gt;Configure IIS&lt;/h3&gt;
&lt;p&gt;Internet Information Services (IIS), by default, allows anonymous users to access your community without being required to log in. Disable anonymous authentication within IIS on every web server in your environment, preventing users who aren&amp;#39;t already logged into the network from being recognized. You also need to configure IIS to accept Windows credentials:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open IIS Manager.&lt;/li&gt;
&lt;li&gt;Browse to your Telligent Community website in the Connections pane.&lt;/li&gt;
&lt;li&gt;In the IIS section of the right pane, in Features View, double-click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Disable all authentication types except&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Windows Authentication&lt;/strong&gt;, leaving Windows Authentication as the only enabled authentication type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point you can now authenticate against Active Directory. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to test it from another computer or virtual machine. Occasionally Microsoft IIS can get into an infinite loop when you try to view a Windows Auth protected site from the same computer that is hosting that site. If you encounter authentication errors when using Windows Authentication against localhost, refer to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://support.microsoft.com/en-us/kb/896861"&gt;Microsoft&amp;#39;s KB 896861&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;&lt;a id="Setup_the_Role_and_Profile_Synchronization_Job" name="Setup_the_Role_and_Profile_Synchronization_Job"&gt;&lt;/a&gt;Setup the Role and Profile Synchronization Job&lt;/h2&gt;
&lt;p&gt;Telligent Community supports the use of LDAP for syncing Role and Profile information between your community and Active Directory. While this setup is not neccessary to simply authenticate against Active Directory, setting up the synchronization job enables the user profile and user roles to be synchronized.&lt;/p&gt;
&lt;h3 id="install_the_ldap_package"&gt;&lt;a name="Install_the_LDAP_Package"&gt;&lt;/a&gt;Install the LDAP Package&lt;/h3&gt;
&lt;p class="tdocs-note"&gt;All steps must be followed before LDAP will work on your community.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Packages.config&lt;/span&gt;&amp;nbsp;file in both&amp;nbsp;community&amp;#39;s web directory, and Job Server (by default).&lt;/p&gt;
&lt;p&gt;Out of the box, you should have&amp;nbsp;the following in your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;packages.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file. However, if you do not see this section, add it verbatim:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!-- This file determines which packages have been added to Telligent Community --&amp;gt;&lt;br /&gt;&amp;lt;Packages&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Package Name=&amp;quot;Evolution&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;12994783-22B4-47fe-822A-B71B6F1B6C83&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Packages&amp;gt;&lt;/pre&gt;
&lt;p&gt;The package is required and should not be removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To configure LDAP authentication, you will need to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;add (not substitute)&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;the following line between the &amp;ldquo;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;Packages&amp;gt;&lt;/span&gt;&amp;rdquo; tags in the XML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Package Name=&amp;quot;Ldap&amp;quot; Version=&amp;quot;1.0&amp;quot; DateInstalled=&amp;quot;2009-03-09&amp;quot; Id=&amp;quot;4BF1091D-376C-42b2-B375-E2FE9480E845&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p class="tdocs-note"&gt;This file is case-sensitive, so if you use &amp;quot;name&amp;quot; instead of &amp;quot;Name&amp;quot; then you will have issues with your configuration. Also, the &amp;quot;Id&amp;quot; must be a unique number across all of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="tdocs-path"&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3 id="configuring_ldap"&gt;&lt;a name="Configuring_LDAP"&gt;&lt;/a&gt;Configuring LDAP&amp;nbsp;Connection Details&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;LDAP.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file&amp;nbsp;with your the mappings of Telligent to AD profile fields. See [[How do I control which Active Directory (AD) fields are synchronized and editable on member profiles?]] for details on configuring the LDAP.config file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supply your LDAP connection details to Telligent Community&amp;nbsp;by doing the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open both the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file in your web directory, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;Telligent.Jobs.Server.exe.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in your Job Server directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Locate the line that says&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;. In this top section, add the following line:&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;/span&gt;
&lt;div class="tdocs-note"&gt;This section does not go in any of the existing section groups. Place the line right before the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;configSections&amp;gt;&lt;/span&gt;as in the following example:
&lt;pre class="tdocs-path"&gt;&amp;nbsp;&amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;section name=&amp;quot;LdapConnection&amp;quot; type=&amp;quot;System.Configuration.NameValueSectionHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/configSections&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the section below right after the closing tag of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(so that it&amp;#39;s between&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;/configSections&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;&amp;lt;appSettings&amp;gt;&lt;/span&gt;).&lt;/p&gt;
&lt;pre&gt;&amp;lt;LdapConnection&amp;gt;
   &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;LDAP://&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;389&amp;quot; /&amp;gt;
   &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;
&amp;lt;/LdapConnection&amp;gt;&lt;/pre&gt;
&lt;p&gt;The attributes of an LDAP connection provide the following elements:&lt;/p&gt;
&lt;table class="WikiTable"&gt;
&lt;tbody&gt;
&lt;tr class="WikiTableBgBlue"&gt;
&lt;td width="25%"&gt;&lt;strong&gt;Attribute Name&lt;/strong&gt;&lt;/td&gt;
&lt;td width="75%"&gt;&lt;strong&gt;Attribute Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Server&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The address where the LDAP server can be found. &amp;nbsp;If configured with&amp;nbsp;&amp;quot;LDAP:\\&amp;quot; or &amp;quot;GC:\\&amp;quot;, then the directory servers are auto detected based on teh current machine&amp;#39;s Active Directory domain memberhsip.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Port&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The port number where&amp;nbsp;the LDAP server is listening for requests.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;BaseDN&lt;/em&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;The base Distinguished Name.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;UserDN&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The Distinguished Name for the user that will be used by Community Server to connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Password&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The password that will be used by Community Server to&amp;nbsp;connect to the LDAP server. &amp;nbsp;If not specified, will connect as your Application Pool Identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;The authentication type that will be used on the connection. Default is Secure. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;Secure&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in NTLM authentication being used. A value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;SecureSocketsLayer&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;will result in an SSL- encrypted&amp;nbsp;authentication being used. More values can be found in the &amp;quot;Members&amp;quot; table&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;nbsp;Save the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now be able to sync LDAP&amp;nbsp;roles to Telligent Community as well as the profile fields configured in ldap.config&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;a id="Considerations_for_a_Multi-Domain_Environment" name="Considerations_for_a_Multi-Domain_Environment"&gt;&lt;/a&gt;Considerations for a Multi-Domain Environment&lt;/h3&gt;
&lt;p&gt;To configure LDAP to work in a multi-domain environment, you need to point Telligent Community to the top-level domain&amp;#39;s Global Catalog server. To do this, you need to change the server and port settings in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LdapConnection&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section of your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;web.config&lt;/span&gt;. You should change the Server to use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instead of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;. When using just&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;LDAP://&lt;/span&gt;, Telligent Community will only be able to look up users within that specific domain. By using the Global Catalog, it is able to look up users and groups in any child domains as well. Use port 3268 instead of port 389.&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre&gt;&lt;span class="tdocs-path"&gt;&amp;lt;LdapConnection&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Server&amp;quot; value=&amp;quot;&lt;span&gt;GC://&lt;/span&gt;mycompany.com&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Port&amp;quot; value=&amp;quot;&lt;span&gt;3268&lt;/span&gt;&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;add key=&amp;quot;Authentication&amp;quot; value=&amp;quot;Secure&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/LdapConnection&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p class="tdocs-note"&gt;The server setting is case-sensitive. Be sure that the server in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;GC://mycompany.com&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;setting is the name of the root domain in the forest.&lt;/p&gt;
&lt;p&gt;Currently when using a multi-domain environment, Telligent Community won&amp;#39;t be able to allow profile updates. The Global Catalog is read-only, and Telligent Community doesn&amp;#39;t support issuing updates to the individual domain controllers within the environment. To avoid any issues, it is recommended to edit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;ldap.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and change the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;AccessLevel&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;settings to &amp;quot;&lt;span&gt;ReadOnly&lt;/span&gt;&amp;quot; for all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Attribute&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;entries.&lt;/p&gt;
&lt;p&gt;With a multi-domain environment, take special care about potential naming conflicts across domains. If there are two users with the username &amp;quot;jdoe&amp;quot; across two domains, Telligent Community may have issues knowing which user to retrieve from LDAP.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>