Delen via


Codevoorbeeld: ASP.NET Simple MVC 2

Bijgewerkt: 19 juni 2015

Van toepassing op: Azure

In dit voorbeeld ziet u hoe u Microsoft Azure Active Directory Access Control (ook wel bekend als Access Control Service of ACS) integreert met een ASP.NET MVC-toepassing. De code voor dit voorbeeld bevindt zich in de submap ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) van het pakket met acs-codevoorbeelden (Microsoft Azure Active Directory Access Control).

Vereisten

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

  1. Een account op de startpagina van Azure en een Access Control naamruimte. In dit voorbeeld wordt ervan uitgegaan dat de naam van de go to the Microsoft Azure Management Portal (https://manage.WindowsAzure.com), meldt u zich aan en klikt u vervolgens op Active Directory. (Tip voor probleemoplossing: Het item 'Active Directory' ontbreekt of niet beschikbaar is) is acssamples, ook al is de naam van uw Access Control naamruimte anders.

  2. Visual Studio 2010 (elke versie)

  3. Windows Identity Foundation SDK

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 Management Service

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 relaties tot stand wilt brengen met de id-providers, wilt u dat de gebruikers van uw website worden gebruikt wanneer u zich aanmeldt, klikt u op Id-providers en voegt u Yahoo! en Google toe. Klik op Start om terug te keren naar de hoofdpagina.

  5. Als u uw toepassing wilt registreren bij ACS, klikt u op de startpagina van de Access Control Servicebeheer-portal op Relying Party-toepassingen, klikt u op Toevoegen en voert u de volgende gegevens in het formulier in:

    • Voer in het veld Naameen eenvoudig ASPNET MVC-voorbeeld in.

    • Voer in het veld Realm het veld Realm in https://localhost:63000/

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

    • Voer in het veld Fout-URL het veld Fout-URL in https://localhost:63000/Error

    • Selecteer SAML 2.0 in het veld Token-indeling.

    • Selecteer in het veld Token-ondertekening het certificaat van de servicenaamruimte gebruiken (standaard).

  6. Klik op Opslaan en klik vervolgens op Start om de startpagina te retourneren.

  7. 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 doorlopen we gewoon alle claims die zijn uitgegeven door de id-provider. Als u deze regel wilt maken, klikt u op Regelgroepen en klikt u op Standaardregelgroep voor een eenvoudig ASPNET MVC-voorbeeld. Klik onder aan de pagina op de koppeling Genereren . Zorg ervoor dat de drie id-providers Yahoo!, Google en Windows Live ID (Microsoft-account) zijn geselecteerd en klik op Genereren.

  8. Klik op Opslaan en ga terug naar de hoofdpagina.

  9. Open Visual Studio als ACS is geconfigureerd.

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 uw 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, waarmee ACS wordt geconfigureerd om dit voorbeeld uit te voeren.

Het voorbeeld uitvoeren

Het voorbeeld uitvoeren

  1. Open het voorbeeld op Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln in Visual Studio

  2. Druk op F5 om de toepassing te starten.

  3. Sluit de browser om de toepassing te stoppen en door te gaan met het configureren van ACS.

  4. Klik met de rechtermuisknop op het project en selecteer STS-verwijzing toevoegen in het contextmenu.

  5. Voer in het dialoogvenster de hoofdmap van de webtoepassing in het veld Toepassings-URI in en klik op Volgende. Voor dit voorbeeld is deze waarde https://localhost:63000/

    Notitie

    De afsluitende slash is belangrijk, omdat deze is afgestemd op de waarden die u hebt ingevoerd in ACS voor uw relying party. De wizard geeft een waarschuwing uit dat uw site geen SSL gebruikt. Accepteer deze waarschuwing door op de knop Ja te klikken, maar vergeet niet dat een productiewebsite bijna altijd SSL moet gebruiken voor deze scenario's.

  6. Selecteer in het volgende venster het keuzerondje Bestaande STS gebruiken en voer de URI in van de WS-Federation metagegevens die zijn gepubliceerd door uw Access Control naamruimte. Klik in de ACS-portal op Toepassingsintegratie om de URI te vinden. Als de naam van uw Access Control naamruimte acssamples is, is https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xmlde URI. Nadat u deze waarde hebt ingevoerd, klikt u op Volgende.

  7. Omdat voor uw website geen versleutelde tokens zijn vereist, klikt u op Volgende en klikt u op Voltooien.

  8. ACS en uw toepassing zijn nu geconfigureerd. Druk op F5 in Visual Studio om de toepassing uit te voeren. Uw browser wordt omgeleid naar de door ACS gehoste home realm discovery-pagina.

  9. Klik op Google. Uw browser wordt omgeleid naar een Aanmeldingspagina van Google.

  10. Voer referenties in voor een Google-account en wijs het toestemmingsformulier van de gebruiker af.

  11. Uw browser moet terugkeren naar https://localhost:63000/Error en een aangepaste fouttekenreeks weergeven die aangeeft dat aanmelding bij de site is geannuleerd.

  12. Als u het opnieuw wilt proberen, klikt u op de koppeling en klikt u vervolgens op een id-provider.

  13. Wanneer uw browser zich bij de id-provider bevindt, voert u referenties in voor een testaccount, maar accepteert u dit keer het toestemmingsformulier van de gebruiker.

  14. Uw browser moet terugkeren naar https://localhost:63000/. U ziet dat de naam van uw testidentiteit wordt weergegeven in de rechterbovenhoek van de pagina. Deze gegevens zijn uitgegeven door de id-provider en worden via ACS geretourneerd naar uw toepassing.