Delen via


Codevoorbeeld: ASP.NET webservice

Bijgewerkt: 19 juni 2015

Van toepassing op: Azure

In deze voorbeelden ziet u hoe u Microsoft Azure Active Directory Access Control (ook wel bekend als Access Control Service of ACS) integreert in een eenvoudige webservice. Het gebruikt ASP.NET als een webservicehost en een opdrachtregelclient. Voor de ASP.NET-webservice is een SWT-token vereist dat is uitgegeven door ACS. De client vraagt een token aan bij ACS met een gebruikersnaam en wachtwoord die zijn geregistreerd bij ACS. De code voor dit voorbeeld bevindt zich in de submap VAN ASPNETSimpleService (C#\WebServices\ASPNETSimpleService) van het pakket Microsoft Azure Active Directory Access Control (ACS)-codevoorbeelden.

Vereisten

Als u dit voorbeeld wilt uitvoeren, hebt u het volgende nodig:

  1. Als u een account wilt maken op de startpagina van Azure en een Access Control naamruimte wilt maken.

  2. Visual Studio 2010 (elke versie)

Zie ACS-vereisten (https://go.microsoft.com/fwlink/?LinkId=221065) voor meer informatie.

Het voorbeeld configureren

De ACS-configuratie die voor dit voorbeeld is vereist, kan worden uitgevoerd met behulp van de ACS-beheerportal of de ACS-beheerservice. In dit onderwerp worden beide opties beschreven.

  1. Optie 1: Het voorbeeld configureren met behulp van de ACS-beheerportal

  2. Optie 2: Het voorbeeld configureren met behulp van de ACS-beheerservice

Optie 1: Het voorbeeld configureren met behulp van de ACS-beheerportal

Het voorbeeld configureren met behulp van de ACS-beheerportal

  1. Ga naar de Microsoft Azure-beheerportal (https://manage.WindowsAzure.com), meld u aan en klik vervolgens op Active Directory. (Tip voor probleemoplossing: Item 'Active Directory' ontbreekt of is niet beschikbaar)

  2. Als u een Access Control naamruimte wilt maken, klikt u op Nieuw, klikt u op App Services, klikt u op Access Control en vervolgens op Snel maken. (Of klik op Access Control naamruimten voordat u op Nieuw klikt.)

  3. Als u een Access Control naamruimte wilt beheren, selecteert u de naamruimte en klikt u op Beheren. (Of klik op Access Control naamruimten, selecteer de naamruimte en klik vervolgens op Beheren.)

    Met deze actie wordt de Access Control-portal voor servicebeheer geopend.

  4. Als u uw toepassing wilt registreren bij ACS, klikt u op Relying Party-toepassingen, klikt u op Toevoegen en voert u de volgende gegevens in het formulier in:

    • Voer in het veld NaamASPNET Simple Service in.

    • Voer in het veld Realm het veld Realm in https://localhost:8000/Service/

    • Voer in het veld Retour-URL het volgende in https://localhost:8000/Service/

    • Selecteer SWT in de vervolgkeuzelijst Tokenindeling .

    • Klik in het veld Token-ondertekeningssleutel op Genereren om een tokenondertekeningssleutel te maken. Kopieer deze sleutel voor later gebruik in de configuratie.

    • Voer in het veld Vervaldatum een geschikte vervaldatum voor de sleutel in. De sleutel is niet meer geldig op deze datum

    • Laat de andere velden op de standaardwaarden staan.

  5. Klik op Opslaan en klik vervolgens op Start om terug te keren naar de startpagina van de Access Control Servicebeheerportal.

  6. Nu uw relying party is geregistreerd, is het nu tijd om de regels te maken die bepalen welke claims ACS aan uw toepassing gaat uitgeven. In dit voorbeeld maken we een regel waarmee een geregistreerde gebruikersnaam en wachtwoord een actieclaim met de waarde omgekeerd worden verleend. Als u deze regel wilt maken, klikt u op Start om terug te keren naar de startpagina van de Access Control Servicebeheerportal, klikt u op Regelgroepen en klikt u vervolgens op Standaardregelgroep voor ASP.NET Eenvoudige service. Voeg een nieuwe regel toe met de volgende instellingen:

    • Selecteer Access Control Service in de sectie Claimverlener.

    • Selecteer Any in de sectie Invoerclaimtype.

    • Selecteer Any in de sectie Invoerclaimwaarde.

    • Selecteer in de sectie Uitvoerclaimtypede optie Enter-type en typeactie in het veld.

    • Selecteer in de sectie UitvoerclaimwaardeDe waarde invoeren en typ omgekeerd in het veld.

  7. In tegenstelling tot de voorbeelden van websites is dit voorbeeld afhankelijk van referenties die worden beheerd door ACS. De laatste stap bij het configureren van ACS is het registreren van de gebruikersnaam en het wachtwoord voor de clienttoepassing die moet worden gebruikt. Als u een nieuwe gebruikersnaam en wachtwoord wilt configureren, klikt u op Start om terug te keren naar de startpagina van de Access Control Servicebeheerportal, klikt u op Service-identiteiten, klikt u op Toevoegen en vult u het formulier in. Gebruik voor dit voorbeeld de gebruikersnaam acssample, het wachtwoord voor het referentietype en het wachtwoord pass@word1.

  8. Klik op Opslaan en klik vervolgens op Start om terug te keren naar de startpagina van de Access Control Servicebeheerportal.

Optie 2: Het voorbeeld configureren met behulp van de ACS-beheerservice

De Visual Studio voorbeeldoplossing heeft een consoletoepassing met de naam ConfigureSample, die gebruikmaakt van de ACS Management Service en de algemene helpers die zijn gedefinieerd in de Common-klassebibliotheek. Deze toepassing kan worden gebruikt om een Access Control naamruimte te configureren voor gebruik met dit voorbeeld.

Het voorbeeld configureren met behulp van de ACS Management Service

  1. Open SamplesConfiguration.cs (acs\Management\ManagementService\Common) om het voorbeeld te configureren. Vervang de tijdelijke aanduidingen in de klasse SamplesConfiguration in de common-klassebibliotheek door informatie over uw Access Control naamruimte. U vindt de informatie in de ACS-beheerportal.

    Ga naar de ACS-beheerportal: ga naar de Microsoft Azure Beheerportal (https://manage.WindowsAzure.com), meld u aan en klik op Active Directory. (Tip voor probleemoplossing: Item 'Active Directory' ontbreekt of is niet beschikbaar) Als u een Access Control naamruimte wilt beheren, selecteert u de naamruimte en klikt u op Beheren. (Of klik op Access Control naamruimten, selecteer de naamruimte en klik vervolgens op Beheren.)

    • ServiceNamespace: voer de naam van uw Access Control naamruimte in.

    • ManagementServiceIdentityName : voer de naam in van een ACS-beheerserviceaccount. De standaardwaarde is ManagementClient.

      Als u de naam van het beheerserviceaccount wilt vinden, klikt u in de ACS-beheerportal op Beheerservice. De accounts worden vermeld op naam onder Beheerserviceaccounts.

    • ManagementServiceIdentityKey : voer het wachtwoord voor het beheerserviceaccount in.

      Als u het wachtwoord voor het beheerserviceaccount wilt vinden, klikt u in de ACS-beheerportal op Beheerservice. Klik op de naam van een beheerserviceaccount en klik vervolgens onder Referenties op Wachtwoord. Het wachtwoord wordt weergegeven in het veld Wachtwoord . Als u het wachtwoord wilt kopiƫren, klikt u op Wachtwoord weergeven.

  2. Voer de configureSample-toepassing uit in Visual Studio. Hiermee configureert u ACS om dit voorbeeld uit te voeren.

  3. Wanneer de ConfigureSample-toepassing is voltooid, wordt de gegenereerde relying party-ondertekeningssleutel naar de console uitgevoerd. Kopieer deze sleutel naar het Klembord.

Het voorbeeld uitvoeren

Het voorbeeld uitvoeren

  1. Open het voorbeeld in Visual Studio. De oplossing bestaat uit twee projecten: Service en Client.

  2. Als u dit nog niet hebt gedaan, voert u de details van uw Access Control naamruimte in Common\SamplesConfiguration.cs in. Zie stap 1 van optie 2 voor meer informatie: configureren via de ACS-beheerservice. Dit bestand wordt ook gebruikt door de service- en clientprojecten.

  3. Open het web.config-bestand in het serviceproject. Voer uw tokenondertekeningssleutel in de juiste AppSettings-elementen in. Als u ACS hebt geconfigureerd met behulp van de beheerservice, is dit de waarde die u naar het klembord hebt gekopieerd. Raadpleeg het gebied Certificaten en sleutels van de portal om de tokenondertekeningssleutel te verkrijgen. Hieronder ziet u een codefragment met dit gebied van het bestand Service web.config.

    <appSettings>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
  4. Open het bestandapp.config in het clientproject. Voer uw gebruikersnaam en wachtwoord in de juiste AppSettings-elementen in. Als u de gebruikersnaam en het wachtwoord wilt ophalen die u eerder hebt geregistreerd, raadpleegt u het gebied Service-identiteiten van de portal. Hieronder ziet u een codefragment met dit gebied (correct bijgewerkt) van het clientbestand app.config.

      <appSettings>
        <add key="OAuthUserName" value="acssample" />
        <add key="OAuthPassword" value="pass@word1" />
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />   
      </appSettings>
    
  5. Als u het voorbeeld wilt uitvoeren, start u de service en start u de client. Voer op de client een tekenreeks in die u wilt omkeren. In het venster van de clientconsole moet vervolgens uitvoer worden weergegeven die aangeeft dat het een token van ACS heeft ontvangen.