Dela via


Kodexempel: ASP.NET Simple MVC 2

Uppdaterad: 19 juni 2015

Gäller för: Azure

Det här exemplet illustrerar hur du integrerar Microsoft Azure Active Directory Access Control (även kallat Access Control Service eller ACS) med ett ASP.NET MVC-program. Koden för det här exemplet finns i underkatalogen ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) i kodexempelpaketet Microsoft Azure Active Directory Access Control (ACS).

Förutsättningar

Om du vill köra det här exemplet behöver du:

  1. Ett konto på Startsidan för Azure och ett Access Control namnområde. Det här exemplet förutsätter att namnet på Gå till Microsoft Azure-hanteringsportalen (https://manage.WindowsAzure.com), loggar in och klickar sedan på Active Directory. (Felsökningstips: "Active Directory"-objektet saknas eller är inte tillgängligt) är acssamples, även om namnet på ditt Access Control namnområde kommer att vara annorlunda.

  2. Visual Studio 2010 (valfri version)

  3. Windows Identity Foundation SDK

Mer information finns i KRAV FÖR ACS (https://go.microsoft.com/fwlink/?LinkId=221065).

Konfigurera exemplet

ACS-konfigurationen som krävs för det här exemplet kan utföras med antingen ACS-hanteringsportalen eller ACS-hanteringstjänsten. I det här avsnittet beskrivs båda alternativen.

  1. Alternativ 1: Konfigurera exemplet med hjälp av ACS-hanteringsportalen

  2. Alternativ 2: Konfigurera exemplet med hjälp av ACS-hanteringstjänsten

Alternativ 1: Konfigurera exemplet med hjälp av ACS-hanteringsportalen

Så här konfigurerar du exemplet med hjälp av ACS-hanteringsportalen

  1. Gå till Microsoft Azure Management Portal (https://manage.WindowsAzure.com), logga in och klicka sedan på Active Directory. (Felsökningstips: "Active Directory"-objektet saknas eller är inte tillgängligt)

  2. Om du vill skapa en Access Control namnrymd klickar du på Ny, klickar på App Services, klickar på Access Control och sedan på Snabbregistrering. (Eller klicka på Access Control namnområden innan du klickar på Ny.)

  3. Om du vill hantera ett Access Control namnområde väljer du namnområdet och klickar sedan på Hantera. (Eller klicka på Access Control namnområden, välj namnområdet och klicka sedan på Hantera.)

    Den här åtgärden öppnar Access Control Service-hanteringsportalen.

  4. Om du vill upprätta relationer med identitetsprovidrar som du vill att användarna av din webbplats ska använda när de loggar in klickar du på Identitetsprovidrar och lägger till Yahoo! och Google. Gå tillbaka till huvudsidan genom att klicka på Start.

  5. Om du vill registrera ditt program med ACS går du till startsidan för Access Control-tjänsthanteringsportalen, klickar på Program för förlitande part, klickar på Lägg till och anger sedan följande information i formuläret:

    • I fältet Namn anger du ASPNET Simple MVC-exempel.

    • I fältet Sfär anger du https://localhost:63000/

    • I fältet Retur-URL anger du https://localhost:63000/

    • I fältet Fel-URL anger du https://localhost:63000/Error

    • I fältet Tokenformat väljer du SAML 2.0.

    • I fältet Tokensignering väljer du Använd tjänstens namnområdescertifikat (standard).

  6. Klicka på Spara och klicka sedan på Start för att returnera startsidan.

  7. När den förlitande parten är registrerad är det nu dags att skapa regler som fastställer de anspråk som ACS utfärdar till ditt program. I det här exemplet går vi helt enkelt igenom alla anspråk som utfärdats av identitetsprovidern. Om du vill skapa den här regeln klickar du på Regelgrupper och sedan på Standardregelgrupp för ASPNET Simple MVC-exempel. Klicka på länken Generera längst ned på sidan. Kontrollera att de tre identitetsprovidrar Yahoo!, Google och Windows Live ID (Microsoft-konto) är markerade och klicka på Generera.

  8. Klicka på Spara och gå tillbaka till huvudsidan.

  9. Öppna Visual Studio när ACS har konfigurerats.

Alternativ 2: Konfigurera exemplet med hjälp av ACS-hanteringstjänsten

Den Visual Studio exempellösningen har ett konsolprogram som heter ConfigureSample som använder ACS-hanteringstjänsten och de vanliga hjälpkomponenter som definierats i Common-klassbiblioteket. Det här programmet kan användas för att konfigurera ditt Access Control namnområde för användning med det här exemplet.

Så här konfigurerar du exemplet med acs-hanteringstjänsten

  1. Om du vill konfigurera exemplet öppnar du SamplesConfiguration.cs (acs\Management\ManagementService\Common). Ersätt platshållarna i klassen SamplesConfiguration i common-klassbiblioteket med information om ditt Access Control namnområde. Du hittar informationen i ACS-hanteringsportalen.

    Navigera till ACS-hanteringsportalen: Gå till Microsoft Azure-hanteringsportalen (https://manage.WindowsAzure.com), logga in och klicka sedan på Active Directory. (Felsökningstips: "Active Directory"-objektet saknas eller är inte tillgängligt) Om du vill hantera ett Access Control namnområde väljer du namnområdet och klickar sedan på Hantera. (Eller klicka på Access Control namnområden, välj namnområdet och klicka sedan på Hantera.)

    • ServiceNamespace – Ange namnet på ditt Access Control namnområde.

    • ManagementServiceIdentityName – Ange namnet på ett ACS-hanteringstjänstkonto. Standardvärdet är ManagementClient.

      Om du vill hitta namnet på hanteringstjänstkontot går du till ACS-hanteringsportalen och klickar på Hanteringstjänst. Kontona visas efter namn under Hanteringstjänstkonton.

    • ManagementServiceIdentityKey – Ange lösenordet för hanteringstjänstkontot.

      Om du vill hitta lösenordet för hanteringstjänstkontot går du till ACS-hanteringsportalen och klickar på Hanteringstjänst. Klicka på namnet på ett hanteringstjänstkonto och klicka sedan på Lösenord under Autentiseringsuppgifter. Lösenordet visas i fältet Lösenord . Kopiera lösenordet genom att klicka på Visa lösenord.

  2. Kör programmet ConfigureSample i Visual Studio, som konfigurerar ACS för att köra det här exemplet.

Köra exemplet

Så här kör du exemplet

  1. Öppna exemplet på Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln i Visual Studio

  2. Starta programmet genom att trycka på F5 .

  3. Stäng webbläsaren för att stoppa programmet och fortsätt med att konfigurera ACS.

  4. Högerklicka på projektet och välj Lägg till STS-referens på snabbmenyn.

  5. I dialogrutan anger du roten för webbprogrammet i fältet Program-URI och klickar på Nästa. För det här exemplet är det här värdet https://localhost:63000/

    Anteckning

    Det avslutande snedstrecket är viktigt eftersom det stämmer med de värden som du angav i ACS för den förlitande parten. Guiden utfärdar en varning om att webbplatsen inte använder SSL. Acceptera den här varningen genom att klicka på knappen Ja , men kom ihåg att en produktionswebbplats nästan alltid ska använda SSL för dessa scenarier.

  6. I nästa fönster väljer du alternativknappen Använd befintlig STS och anger URI:n för WS-Federation metadata som publicerats av ditt Access Control namnområde. Om du vill hitta URI:n går du till ACS-portalen och klickar på Programintegrering. Om namnet på ditt Access Control namnområde är acssamples är https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xmlURI:n . När du har angett det här värdet klickar du på Nästa.

  7. Eftersom webbplatsen inte kräver krypterade token klickar du på Nästa och sedan på Slutför.

  8. ACS och ditt program har nu konfigurerats. Tryck på F5 i Visual Studio för att köra programmet. Webbläsaren dirigeras till sidan för IDENTIFIERING av ACS-värdbaserad hemsfär.

  9. Klicka på Google. Webbläsaren omdirigeras till en inloggningssida på Google.

  10. Ange autentiseringsuppgifter för ett Google-konto och neka formuläret för användarmedgivande.

  11. Webbläsaren bör återgå till https://localhost:63000/Error och visa en anpassad felsträng som anger att inloggningen till webbplatsen avbröts.

  12. Om du vill försöka igen klickar du på länken och sedan på en identitetsprovider.

  13. När din webbläsare är hos identitetsprovidern anger du autentiseringsuppgifter för ett testkonto, men godkänn formuläret för användarmedgivande den här gången.

  14. Webbläsaren bör återgå till https://localhost:63000/. Observera att namnet på din testidentitet visas i det övre högra avsnittet på sidan. Dessa data utfärdades av identitetsprovidern och returnerades till ditt program via ACS.