Delen via


Procedure: Mijn eerste claimbewuste ASP.NET-service maken met ACS

Bijgewerkt: 19 juni 2015

Van toepassing op: Azure

Van toepassing op

  • Microsoft Azure Active Directory Access Control (ook wel Access Control Service of ACS genoemd)

Overzicht

Notitie

Dit onderwerp heeft betrekking op een verouderde technologie. Als u XML-webservices en XML-webserviceclients wilt maken, raadpleegt u https://go.microsoft.com/fwlink/?LinkID=220304.

In dit onderwerp wordt beschreven hoe u een eenvoudige ASP.NET-webservice integreert met ACS. Door uw webservice te integreren met ACS, factor u de functies van verificatie en autorisatie uit uw code. ACS biedt het mechanisme voor het verifiëren en autoriseren van clients voor uw webservice. Zie Webservices en ACS voor meer informatie

In een webservicescenario wordt ervan uitgegaan dat een webserviceclient geen toegang heeft tot een browser en autonoom werkt (zonder gebruikersdeelname). In een webservicescenario kan een client ook toegang krijgen tot een webservice met behulp van een service-id of een bedrijfsidentiteit. In de oefening die in dit onderwerp wordt beschreven, krijgt een client toegang tot een voorbeeld-ASP.NET webservice met behulp van een service-id-referentietype dat is geconfigureerd in ACS.

Als u de stappen in dit onderwerp wilt uitvoeren, moet u een voorbeeld-ASP.NET-service downloaden. Zie codevoorbeeld: ASP.NET webservice voor meer informatie.

Stappen voor het integreren van ACS met een ASP.NET-webservice

Belangrijk

Voordat u de volgende stappen uitvoert, moet u ervoor zorgen dat uw systeem voldoet aan alle vereisten van .NET Framework en platform die worden samengevat in ACS-vereisten.

Voer de volgende stappen uit om ACS te integreren met dit voorbeeld ASP.NET webservice:

  • Stap 1: een Access Control-naamruimte maken

  • Stap 2: de ACS-beheerportal starten

  • Stap 3: een Relying Party-toepassing toevoegen

  • Stap 4: Regels maken

  • Stap 5: Een service-id configureren

  • Stap 6: Vertrouwensrelatie tussen ACS en uw ASP.NET-webservice configureren

  • Stap 7: de integratie tussen ACS en uw ASP.NET-webservice testen

Stap 1: een Access Control-naamruimte maken

Zie Instructies voor gedetailleerde instructies: Een Access Control naamruimte maken.

Stap 2: de ACS-beheerportal starten

Met de ACS-beheerportal kunt u uw Access Control naamruimte configureren door id-providers toe te voegen, relying party-toepassingen te configureren, regels en groepen regels te definiëren en de referenties vast te stellen die uw relying party-toepassing vertrouwt.

De ACS-beheerportal starten

  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 beheren, selecteert u de naamruimte en klikt u op Beheren. (Of klik op Access Control Naamruimten, selecteer de naamruimte en klik vervolgens op Beheren.)

Stap 3: een Relying Party-toepassing toevoegen

In deze sectie wordt beschreven hoe u een relying party-toepassing toevoegt. Zie Relying Party-toepassingen voor meer informatie over relying party-toepassingen.

Een relying party-toepassing instellen

  1. Klik in de ACS-beheerportal op Relying Party-toepassingen in de structuur aan de linkerkant of klik op de koppeling Relying Party-toepassingen in de sectie Aan de slag.

  2. Klik op de pagina Relying Party-toepassingen op Toevoegen.

  3. Ga als volgt te werk op de pagina Relying Party-toepassing toevoegen :

    • Typ in Naam de naam van de relying party-toepassing. Voor deze oefening typt u ASPNET Simple Service.

    • Selecteer handmatig instellingen invoeren in de modus.

    • Typ in Realm de URI waarop het beveiligingstoken dat door ACS is uitgegeven. Voor deze oefening typt u https://localhost:8000/Service.

    • Typ in retour-URL de URL waarnaar ACS het beveiligingstoken retourneert. Voor deze oefening typt u https://localhost:8000/Service.

    • Voer in fout-URL (optioneel) de URL in waarnaar ACS kan posten als er een fout optreedt tijdens het aanmelden. Laat dit veld voor deze oefening leeg.

    • Selecteer in tokenindeling een tokenindeling die ACS moet gebruiken bij het uitgeven van beveiligingstokens voor deze relying party-toepassing. Selecteer SWT voor deze oefening. Zie Tokenindelingen die worden ondersteund in ACS en Token-indeling in Relying Party-toepassingen voor meer informatie over tokens en tokenindelingen.

    • Geef in de levensduur van het token (secs) de hoeveelheid tijd op voor een beveiligingstoken dat door ACS is uitgegeven om geldig te blijven. Accepteer voor deze oefening de standaardwaarde van 600. Zie tokenversleutelingsbeleid in Relying Party-toepassingen voor meer informatie over levensduur van tokens.

    • In id-providers kunt u de id-providers selecteren die u wilt gebruiken met deze relying party-toepassing.

      Voor deze oefening worden echter geen id-providers gebruikt, krijgt de client toegang tot de webservice met een service-id. Zorg er dus voor dat u het selectievakje naast Windows Live ID uitschakelt.

      Zie Service-identiteiten voor meer informatie over service-identiteiten.

    • Selecteer in regelgroepen de regelgroepen voor deze relying party-toepassing die moet worden gebruikt bij het verwerken van claims. Voor deze oefening accepteert u Nieuwe regelgroep maken die standaard is ingeschakeld. Zie Regelgroepen en regels voor meer informatie over regelgroepen.

    • Klik onder Token Signing Instellingen in token-ondertekeningssleutel op de knop Genereren om een 256-bits symmetrische sleutel voor deze relying party te genereren.

  4. Klik op Opslaan.

Stap 4: Regels maken

Regels bepalen hoe claims worden doorgegeven van id-providers of ACS (als ACS de claimverlener is) aan uw relying party-toepassing. Zie Regelgroepen en regels voor meer informatie over regels en regelgroepen.

Regels maken

  1. Klik op de startpagina van de ACS-beheerportal op Regelgroepen in de structuur aan de linkerkant of klik op de koppeling Regelgroepen onder de sectie Aan de slag.

  2. Klik op de pagina Regelgroepen op Standaardregelgroep voor ASPNET Simple Service (omdat u de ASPNET Simple-service van uw relying party-toepassing hebt genoemd).

  3. Klik op de pagina Regelgroep bewerken op Toevoegen.

  4. Ga als volgt te werk op de pagina Claimregel toevoegen :

    • Selecteer in de sectie If, onder Claimverlener, Access Control Service.

    • Laat in de sectie If , onder Invoerclaimtype, de standaardselectie Any staan.

    • Laat in de sectie If , onder Invoerclaimwaarde, de standaardselectie Any staan.

    • Selecteer in de sectie Vervolgens, onder Uitvoerclaimtype, Typtype en typ vervolgens actie, omdat dat het claimtype is dat is opgegeven in de code van het ASP.NET webservicevoorbeeld dat u in deze oefening gebruikt: requiredClaimType = “action”. U vindt deze tekenreeks in de voorbeeldcode, in Default.aspx.cs, onder acs\WebServices\ASPNETSimpleService\Service.

    • Selecteer in de sectie Vervolgens, onder Uitvoerclaimwaarde, waarde invoeren en typ vervolgens omgekeerd, omdat dat het claimtype is dat is opgegeven in de code van het ASP.NET webservicevoorbeeld dat u in deze oefening gebruikt: requiredClaimValue = “reverse”. U vindt deze tekenreeks in de voorbeeldcode, in Default.aspx.cs, onder acs\WebServices\ASPNETSimpleService\Service.

    • Klik op Opslaan.

  5. Klik op de pagina Regelgroep bewerken op Opslaan.

Stap 5: Een service-id configureren

In de oefening die in dit onderwerp wordt beschreven, vraagt de client een DOOR ACS uitgegeven Simple Web Token (SWT) aan bij ACS met een gebruikersnaam en wachtwoord die is geregistreerd bij en wordt beheerd door ACS, met andere woorden een ACS-service-id. In deze sectie wordt beschreven hoe u een ACS-service-identiteit configureert of hoe u referenties configureert die worden gehost door ACS die de client kan gebruiken om een token aan te vragen bij ACS. Zie Service-identiteiten voor meer informatie. Voor deze oefening stelt u de naam van de service-id in op acssample (de ASP.NET-serviceclient gebruikt deze waarde als een gebruikersnaam bij het aanvragen van een token van ACS) en het wachtwoord voor pass@word1.

Een service-id configureren

  1. Klik op de startpagina van acs-beheerportal op Service-identiteiten in de structuur aan de linkerkant.

  2. Klik op de pagina Service-identiteiten op Toevoegen.

  3. Ga als volgt te werk op de pagina Service-id toevoegen en klik vervolgens op Opslaan:

    1. Typ acssample in Naam.

    2. Selecteer Wachtwoord in Type.

    3. Typ pass@word1 in Wachtwoord.

    4. Laat de standaardwaarden ongewijzigd in ingangsdatum en vervaldatum.

  4. Klik op de pagina Service-id bewerken op Opslaan.

Stap 6: Vertrouwensrelatie tussen ACS en uw ASP.NET-webservice configureren

In deze sectie wordt beschreven hoe u ACS integreert met uw voorbeeldservice ASP.NET. Zie codevoorbeeld: ASP.NET webservice voor meer informatie.

Vertrouwen configureren tussen ACS en de ASP.NET-webservice

  1. Zoek ASPNETSimpleService.sln in het voorbeeld dat u hebt gedownload en open het in Visual Studio ® 2010.

  2. Dubbelklik in Visual Studio 2010 in Solution Explorer onder Oplossing ASPNETSimpleService op web.config.

  3. Voer in web.configde naamruimtenaam van de Access Control en de sleutel voor tokenondertekening in die u in ACS in de vorige stappen hebt geconfigureerd. Als u de ondertekeningssleutel voor tokens wilt weergeven, klikt u op Certificaten en sleutels in de ACS-beheerportal.

    In het volgende codefragment ziet u de elementen van het web.config-bestand dat u moet bijwerken.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Sla het bijgewerkte web.config-bestand op.

  5. Dubbelklik in Visual Studio 2010 in Solution Explorer onder Oplossing ASPNETSimpleService op het bestand app.config.

  6. Voer in het app.config bestand de naam in van uw Access Control naamruimte en de gebruikersnaam en het wachtwoord van de service-id die u in de vorige stappen hebt geconfigureerd in ACS. Als u de gebruikersnaam en het wachtwoord wilt weergeven, klikt u op Service-identiteiten in de ACS-beheerportal.

    In het volgende codefragment ziet u de elementen van het app.config-bestand dat u moet wijzigen.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Sla het bijgewerkte app.config-bestand op.

Stap 7: de integratie tussen ACS en uw ASP.NET-webservice testen

In deze sectie wordt beschreven hoe u de integratie tussen uw ASP.NET-webservice en ACS kunt testen.

De integratie tussen ACS en uw ASP.NET-webservice testen

  1. Druk in Visual Studio 2010 op F5 om de ASP.NET-service uit te voeren.

  2. Als u de ASP.NET-webserviceclient wilt uitvoeren, klikt u met de rechtermuisknop op Client in de Solution Explorer, vervolgens fouten opsporen en selecteert u Startmenu Nieuw exemplaar.

    Er wordt een opdrachtregelvenster geopend met het volgende bericht: Voer een tekenreeks in die u wilt omkeren en druk vervolgens op <Enter>.

  3. Voer een tekenreeks in, bijvoorbeeld hallo wereld!, en druk op Enter.

    Als uw invoer hallo wereld was!, ziet u het volgende antwoord in de consoletoepassing: !dlrow foneh.

Zie ook

Concepten

ACS-instructies