Authentifizierungsbeispiele (Windows SharePoint Services)

Inhalt dieses Artikels:

  • SQL-Mitgliedschaftsanbieter

  • Active Directory-Mitgliedschaftsanbieter

  • Web-SSO mit AD FS

Dieser Artikel enthält Beispiele von Konfigurationseinstellungen für mehrere häufig verwendete Formularauthentifizierungsanbieter und Authentifizierungsanbieter für die einmalige Webanmeldung.

SQL-Mitgliedschaftsanbieter

Die folgende Tabelle enthält Beispiele von Einträgen aus der Datei Web.config für die Verwendung der ASP.NET-Formularauthentifizierung zum Herstellen der Verbindung mit einem SQL-Mitgliedschaftsanbieter.

Konfigurationsschritte Beschreibung und Beispiele von Einträgen aus der Datei "Web.config"

Aktivieren der ASP.NET-Formularauthentifizierung

Sie können den Authentifizierungstyp für eine bestimmte Zone auf der Website für die SharePoint-Zentraladministration auf der Seite Authentifizierung bearbeiten auf die Formularauthentifizierung festlegen.

Dadurch wird automatisch der im Authentifizierungselement der Datei Web.config angegebene Modus für die Zone in Forms geändert.

Beispiel:

<authentication mode="Forms">

</authentication>

Registrieren des Mitgliedschaftsanbieters

Wenn Sie die Datenbanksoftware Microsoft SQL Server auf dem lokalen Server als Datenbank des Mitgliedschaftsanbieters verwenden und als Name des Mitgliedschaftsanbieters AspNetSqlMembershipProvider angeben, müssen Sie u. U. keine weiteren Änderungen an der Datei Web.config vornehmen. Wenn in diesem Szenario die Datei machine.config die korrekte Konfiguration für AspNetSqlMembershipProvider aufweist, kann sie für Windows SharePoint Services verwendet werden, ohne dass Sie Änderungen vornehmen müssen.

Wenn die Standardkonfiguration in der Datei machine.config nicht zutreffend ist (z. B. wenn Sie eine SQL Server-Datenbank auf einem Remoteserver verwenden möchten), müssen Sie jeweils die Datei Web.config für die Webanwendung und für die Zentraladministrationswebsite bearbeiten, um die Verbindungsinformationen im connectionStrings-Element für die Datenbank des Mitgliedschaftsanbieters anzugeben.

Beispiel:

<connectionStrings>

<add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />

</connectionStrings>

Ersetzen Sie *SQLSERVERMACHINE* durch den Namen des Servercomputers, auf dem die Datenbank für die SQL Server-Mitgliedschaft installiert wurde.

Fügen Sie dann die Elemente membership und providers hinzu, um den Mitgliedschaftsanbieter in der Datei Web.config zu registrieren. Da bereits ein Standardanbieter in der Datei machine.config registriert ist, müssen Sie vor dem <add>-Element ein <remove>-Element einfügen.

Beispiel:

<membership defaultProvider="AspNetSqlMembershipProvider">

<providers>

<remove name="AspNetSqlMembershipProvider" />

<add connectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

Das membership-Element muss in das system.web-Element der Datei Web.config für die Webanwendung und für die Zentraladministrationswebsite eingeschlossen werden.

Registrieren des Rollen-Managers (optional)

Sie können den Standardrollenanbieter für ASP.NET verwenden, indem Sie dem system.web-Element der Datei Web.config ein roleManager-Element hinzufügen. Beispiel:

<roleManager enabled="true" />

In der vorstehenden Syntax wird AspNetSqlRoleProvider verwendet, der in der Datei machine.config definiert ist. Dieser Rollen-Manager kann eine Verbindung mit der ASPNETDB-Datenbank entweder in der lokalen oder in der Remoteinstanz von SQL Server herstellen. Wenn Sie eine SQL Server-Datenbank auf einem Remoteserver als Datenbank für den Rollenanbieter verwenden möchten, müssen Sie die Datei Web.config bearbeiten und die Verbindungsinformationen für den Remotedatenbankserver angeben.

Beispiel:

<connectionStrings>

  <add

    name="SqlProviderConnection"

    connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True"

    />

</connectionStrings>

Ersetzen Sie *SQLSERVERMACHINE* durch den Namen des Remoteservers, auf dem die SQL-Datenbank gehostet wird. Sie können für den Mitgliedschaftsanbieter und den Rollen-Manager denselben connectionStringName-Elementwert angeben, sodass Sie für den Rollenanbieter kein neues connectionStrings-Element hinzufügen müssen. Wenn Sie jedoch eine andere Datenbank für den Rollenanbieter verwenden möchten, müssen Sie ein separates connectionStrings-Element für den Rollenanbieter hinzufügen.

Im nächsten Schritt müssen Sie die Elemente roleManager und providers hinzufügen, um den roleManager-Anbieter in der Datei Web.config zu registrieren. Da bereits ein Standardanbieter in der Datei machine.config registriert ist, müssen Sie vor dem <add>-Element ein <remove>-Element einfügen.

Beispiel:

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

<providers>

<remove name="AspNetSqlRoleProvider" />

<add connectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager>

Das roleManager-Element muss in das system.web-Element der Datei Web.config für die Webanwendung und für die Zentraladministrationswebsite eingeschlossen werden.

Registrieren des HTTP-Moduls

Nicht zutreffend

Active Directory-Mitgliedschaftsanbieter

Die folgende Tabelle enthält Beispiele von Einträgen aus der Datei Web.config für die Verwendung der ASP.NET-Formularauthentifizierung zum Verwenden eines Mitgliedschaftsanbieters für den Active Directory-Verzeichnisdienst.

Hinweis

Dies ist nur in einem Szenario mit einer Domäne möglich.

Konfigurationsschritte Beschreibung und Beispiele von Einträgen aus der Datei "Web.config"

Aktivieren der ASP.NET-Formularauthentifizierung

Sie können den Authentifizierungstyp für eine bestimmte Zone in der Zentraladministration auf der Seite Authentifizierung bearbeiten auf die Formularauthentifizierung festlegen.

Dadurch wird automatisch der im Authentifizierungselement der Datei Web.config angegebene Modus für die Zone in Forms geändert.

Beispiel:

<authentication mode="Forms">

</authentication>

Sie können im forms-Element auch die URL für die Anmeldeseite angeben, z. B.:

<authentication mode="Forms">

    <forms loginUrl="/_layouts/login.aspx"></forms>

</authentication>

Registrieren des Mitgliedschaftsanbieters

Wenn Sie für einen Mitgliedschaftsanbieter einen Active Directory-Server verwenden möchten, müssen Sie die Datei Web.config bearbeiten, um den Mitgliedschaftsanbieter zu registrieren. Dazu müssen Sie die Informationen für die Verbindung mit dem Active Directory-Server im connectionStrings-Element angeben.

Beispiel:

<connectionStrings>

  <add name="ADConnectionString"

   connectionString=

    "LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />

</connectionStrings>

Ersetzen Sie *DirectoryServer* durch den Namen des Verzeichnisservers für die Mitgliedschaft.

<membership defaultProvider="MembershipADProvider">

    <providers>

        <add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

                connectionStringName="ADConnectionString"/>

    </providers>

</membership>

Hinweis

Im vorstehenden Beispiel sind keine Kontoanmeldeinformationen angegeben. Wenn Sie keine Kontoanmeldeinformationen angeben, wird für den Zugriff auf Active Directory die Prozessidentität der Anwendung verwendet.

Wenn für den Zugriff auf Active Directory ein anderes Konto erforderlich ist, können Sie in den Attributen connectionUsername und connectionPassword andere Kontoanmeldeinformationen angeben, d. h., Sie geben den Benutzernamen und das Kennwort im Nur-Text-Format ein. Aus diesem Grund sollten Sie diesen Konfigurationsabschnitt verschlüsseln. Weitere Informationen finden Sie in den folgenden Artikeln:

Registrieren des Rollen-Managers (optional)

Registrieren des HTTP-Moduls

Nicht zutreffend

Web-SSO mit AD FS

Im Betriebssystem Microsoft Windows Server 2003 R2 werden die Active Directory-Verbunddienste (Active Directory Federation Services, AD FS) eingeführt, mit denen Organisationen die Identitätsinformationen eines Benutzers sicher freigeben können. AD FS stellen Technologien für die einmalige Webanmeldung bereit, um einen Benutzer während einer Onlinesitzung bei mehreren Webanwendungen zu authentifizieren.

Die beiden folgenden Paare von Mitgliedschafts- und Rollenanbietern sind in AD FS enthalten:

  • SingleSignOnMembershipProvider/SingleSignOnRoleProvider   Der Mitgliedschaftsanbieter und der Rollenanbieter, die mit Windows Server 2003 R2 standardmäßig bereitgestellt werden.

  • SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2   Der Mitgliedschaftsanbieter und der Rollenanbieter, die in teilweise vertrauenswürdigen Umgebungen verwendet werden. Diese Anbieter sind in Service Pack 2 von Windows Server 2003 R2 enthalten.

SingleSignOnMembershipProvider/SingleSignOnRoleProvider

Die folgende Tabelle enthält Beispiele von Einträgen aus der Datei Web.config für eine Web-SSO-AD FS-Umgebung, in der der Standardanbieter verwendet wird.

Konfigurationsschritte Beschreibung und Beispiele von Einträgen aus der Datei "Web.config"

Aktivieren der ASP.NET-Formularauthentifizierung

<system.web>

 <!-mode=[Windows|Forms|Passport|None]>

 <authentication mode="Forms" />

</system.web>

Registrieren des Mitgliedschaftsanbieters

<membership defaultProvider="SingleSignOnMembershipProvider">

  <providers>

    <add

      name="SingleSignOnMembershipProvider"

      type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

      fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

      />

  </providers>

</membership>

Ersetzen Sie im fs-Attribut *FEDERATIONSERVER* durch den tatsächlichen Servernamen.

Das membership-Element muss in das system.web-Element der Datei Web.config eingeschlossen werden.

Registrieren des Rollen-Managers (optional)

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider">

  <providers>

    <add

      name="SingleSignOnRoleProvider"

      type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

      fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

      />

  </providers>

</roleManager>

Im fs-Attribut müssen Sie *FEDERATIONSERVER* durch den tatsächlichen Servernamen ersetzen.

Registrieren des HTTP-Moduls

 <httpModules>

  <add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2

Wenn Sie das zweite AD FS-Anbieterpaar verwenden, weichen die Einstellungen zum Registrieren des Mitgliedschaftsanbieters und des Rollen-Managers voneinander ab. In der folgenden Tabelle finden Sie Beispiele von Einträgen aus der Datei Web.config für eine Web-SSO-AD FS-Umgebung, in der der Anbieter verwendet wird, der in teilweise vertrauenswürdigen Umgebungen ausgeführt wird.

Konfigurationsschritte Beschreibung und Beispiele von Einträgen aus der Datei "Web.config"

Aktivieren der ASP.NET-Formularauthentifizierung

<system.web>

 <!-mode=[Windows|Forms|Passport|None]>

 <authentication mode="Forms" />

</system.web>

Registrieren des Mitgliedschaftsanbieters

<membership defaultProvider="SingleSignOnMembershipProvider2">

  <providers>

    <add

       name="SingleSignOnMembershipProvider2"

       type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

      fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx

/>

</providers>

</membership>

Ersetzen Sie im fs-Attribut *FEDERATIONSERVER* durch den tatsächlichen Servernamen.

Das membership-Element muss in das system.web-Element der Datei Web.config eingeschlossen werden.

Registrieren des Rollen-Managers (optional)

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">

  <providers>

    <add

      name="SingleSignOnRoleProvider2"

      type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

      fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

      />

  </providers>

</roleManager>

Im fs-Attribut müssen Sie FEDERATIONSERVER durch den tatsächlichen Servernamen ersetzen.

Registrieren des HTTP-Moduls

 <httpModules>

  <add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

Herunterladen dieses Buchs

Dieses Thema wurde zum leichteren Lesen und Ausdrucken in das folgende Buch zum Herunterladen aufgenommen:

Die vollständige Liste der verfügbaren Bücher finden Sie unter Bücher zum Herunterladen für Windows SharePoint Services.