Aracılığıyla paylaş


Kod Örneği: ASP.NET Basit MVC 2

Güncelleştirme: 19 Haziran 2015

Şunlar için geçerlidir: Azure

Bu örnek, Microsoft Azure Active Directory Access Control (Access Control Hizmeti veya ACS olarak da bilinir) bir ASP.NET MVC uygulamasıyla nasıl tümleştirilip ASP.NET gösterilmektedir. Bu örneğin kodu, Microsoft Azure Active Directory Access Control (ACS) Kod Örnekleri paketinin ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) alt dizininde bulunur.

Önkoşullar

Bu örneği çalıştırmak için şunları yapmanız gerekir:

  1. Azure giriş sayfasında bir hesap ve bir Access Control ad alanı. Bu örnekte, Microsoft Azure Yönetim Portalına Git ()https://manage.WindowsAzure.com adının, oturum açıp Active Directory'ye tıklaması varsayılır. (Sorun giderme ipucu: "Active Directory" öğesi eksik veya kullanılamıyor), Access Control ad alanı adınız farklı olsa bile acssamples şeklindedir.

  2. Visual Studio 2010 (herhangi bir sürüm)

  3. Windows Identity Foundation SDK'sı

Daha fazla ayrıntı için bkz. ACS Önkoşulları (https://go.microsoft.com/fwlink/?LinkId=221065).

Örneği Yapılandırma

Bu örnek için gereken ACS yapılandırması ACS Yönetim Portalı veya ACS Yönetim Hizmeti kullanılarak gerçekleştirilebilir. Bu konuda her iki seçenek de açıklanmaktadır.

  1. 1. Seçenek: ACS Yönetim Portalı'nı kullanarak örneği yapılandırma

  2. Seçenek 2: ACS Yönetim Hizmeti'ni kullanarak örneği yapılandırma

1. Seçenek: ACS Yönetim Portalını Kullanarak Örneği Yapılandırma

ACS Yönetim Portalı'nı kullanarak örneği yapılandırmak için

  1. Microsoft Azure Yönetim Portalına ()https://manage.WindowsAzure.com gidin, oturum açın ve Active Directory'ye tıklayın. (Sorun giderme ipucu: "Active Directory" öğesi eksik veya kullanılamıyor)

  2. Access Control ad alanı oluşturmak için Yeni'ye tıklayın, Uygulama Hizmetleri'ne tıklayın, Access Control'a tıklayın ve ardından Hızlı Oluştur'a tıklayın. (Veya Yeni'ye tıklamadan önce ad alanları Access Control'e tıklayın.)

  3. Access Control ad alanını yönetmek için ad alanını seçin ve yönet'e tıklayın. (Veya Ad Alanları'Access Control tıklayın, ad alanını seçin ve yönet'e tıklayın.)

    Bu eylem Access Control Hizmet yönetimi portalını açar.

  4. Web sitenizin kullanıcılarının oturum açarken kullanmasını istediğiniz kimlik sağlayıcılarıyla ilişki kurmak için Kimlik sağlayıcıları'na tıklayın ve Yahoo! ve Google'ı ekleyin. Ana sayfaya dönmek için Giriş'e tıklayın.

  5. Uygulamanızı ACS'ye kaydetmek için, Access Control Hizmet yönetimi portalının giriş sayfasında Bağlı olan taraf uygulamaları'na tıklayın, Ekle'ye tıklayın ve forma aşağıdaki bilgileri girin:

    • Ad alanına ASPNET Basit MVC Örneği girin.

    • Bölge alanınahttps://localhost:63000/

    • İade URL'si alanınahttps://localhost:63000/

    • Hata URL'si alanınahttps://localhost:63000/Error

    • Belirteç biçimi alanında SAML 2.0'ı seçin.

    • Belirteç imzalama alanında Hizmet ad alanı sertifikasını kullan (standart) seçeneğini belirleyin.

  6. Kaydet'e tıklayın ve giriş sayfasını döndürmek için Giriş'e tıklayın.

  7. Bağlı olan tarafınız kayıtlı olduğunda, ACS'nin uygulamanıza verecekleri talepleri belirleyen kuralları oluşturmanın zamanı geldi. Bu örnekte, kimlik sağlayıcısı tarafından verilen tüm taleplerden geçeceğiz. Bu kuralı oluşturmak için Kural Grupları'na tıklayın ve ASPNET Basit MVC Örneği için Varsayılan Kural Grubu'na tıklayın. Sayfanın alt kısmındaki Oluştur bağlantısına tıklayın. Yahoo!, Google ve Windows Live ID (Microsoft hesabı) adlı üç kimlik sağlayıcısının seçili olduğundan emin olun ve Oluştur'a tıklayın.

  8. Kaydet'e tıklayın ve ana sayfaya geri dönün.

  9. ACS yapılandırıldığında Visual Studio açın.

2. Seçenek: ACS Yönetim Hizmetini Kullanarak Örneği Yapılandırma

Visual Studio örnek çözümü, ACS Yönetim Hizmeti'ni ve Common sınıf kitaplığında tanımlanan ortak yardımcıları kullanan ConfigureSample adlı bir konsol uygulamasına sahiptir. Bu uygulama, Access Control ad alanınızı bu örnekle kullanılacak şekilde yapılandırmak için kullanılabilir.

ACS Yönetim Hizmeti'ni kullanarak örneği yapılandırmak için

  1. Örneği yapılandırmak için SamplesConfiguration.cs (acs\Management\ManagementService\Common) dosyasını açın. Common sınıf kitaplığındaki SamplesConfiguration sınıfındaki yer tutucuları Access Control ad alanınızla ilgili bilgilerle değiştirin. Bilgileri ACS Yönetim Portalı'nda bulabilirsiniz.

    ACS Yönetim Portalı'na gitmek için: Microsoft Azure Yönetim Portalına ()https://manage.WindowsAzure.com gidin, oturum açın ve Active Directory'ye tıklayın. (Sorun giderme ipucu: "Active Directory" öğesi eksik veya kullanılamıyor) Access Control ad alanını yönetmek için ad alanını seçin ve yönet'e tıklayın. (Veya Ad Alanları'Access Control tıklayın, ad alanını seçin ve yönet'e tıklayın.)

    • ServiceNamespace - Access Control ad alanınızın adını girin.

    • ManagementServiceIdentityName - ACS yönetim hizmeti hesabının adını girin. Varsayılan değer ManagementClient'tır.

      Yönetim hizmeti hesap adını bulmak için ACS Yönetim Portalı'nda Yönetim hizmeti'ne tıklayın. Hesaplar , Yönetim Hizmeti Hesapları altında ada göre listelenir.

    • ManagementServiceIdentityKey - Yönetim hizmeti hesabının parolasını girin.

      Yönetim hizmeti hesabı parolasını bulmak için ACS Yönetim Portalı'nda Yönetim hizmeti'ne tıklayın. Bir yönetim hizmeti hesabının adına tıklayın ve ardından Kimlik Bilgileri'nin altında Parola'ya tıklayın. Parola, Parola alanında görünür. Parolayı kopyalamak için Parolayı Göster'e tıklayın.

  2. ConfigureSample uygulamasını Visual Studio'de çalıştırın. Bu uygulama, ACS'yi bu örneği çalıştıracak şekilde yapılandıracaktır.

Örneği Çalıştırma

Örnek çalıştırmak için

  1. Visual Studio'de Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln konumunda bulunan örneği açın

  2. Uygulamayı başlatmak için F5 tuşuna basın.

  3. Uygulamayı durdurmak için tarayıcıyı kapatın ve ACS'yi yapılandırmaya devam edin.

  4. Projeye sağ tıklayın ve bağlam menüsünden STS Başvurusu Ekle'yi seçin.

  5. İletişim kutusunda, Web uygulamasının kökünü Uygulama URI'si alanına girin ve İleri'ye tıklayın. Bu örnek için bu değer https://localhost:63000/

    Not

    Bağlı olan tarafınız için ACS'ye girdiğiniz değerlerle aynı çizginin sonundaki eğik çizgi önemlidir. Sihirbaz sitenizin SSL kullanmadığını belirten bir uyarı yayınlar. Evet düğmesine tıklayarak bu uyarıyı kabul edin, ancak üretim web sitesinin bu senaryolar için neredeyse her zaman SSL kullanması gerektiğini unutmayın.

  6. Sonraki pencerede Var olan STS radyo düğmesini seçin ve Access Control ad alanınız tarafından yayımlanan WS-Federation meta verilerinin URI'sini girin. URI'yi bulmak için ACS portalında Uygulama Tümleştirmesi'ne tıklayın. Access Control ad alanınızın adı acssamples ise, URI olurhttps://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Bu değeri girdikten sonra İleri'ye tıklayın.

  7. Web siteniz şifreli belirteçler gerektirmediğinden İleri'ye ve son'a tıklayın.

  8. ACS ve uygulamanız artık yapılandırıldı. Uygulamayı çalıştırmak için Visual Studio F5 tuşuna basın. Tarayıcınız ACS'de barındırılan Giriş Bölgesi Bulma sayfasına yönlendirilir.

  9. Google'a tıklayın. Tarayıcınız bir Google oturum açma sayfasına yönlendirilir.

  10. Google hesabı için kimlik bilgilerini girin ve kullanıcı onay formunu reddedin.

  11. Tarayıcınız adresine https://localhost:63000/Error dönmeli ve sitede oturum açma işleminin iptal edildiğine işaret eden özel bir hata dizesi görüntülemelidir.

  12. Yeniden denemek için bağlantıya tıklayın ve ardından bir kimlik sağlayıcısına tıklayın.

  13. Tarayıcınız kimlik sağlayıcısındayken, bir test hesabının kimlik bilgilerini girin, ancak bu kez kullanıcı onay formunu kabul edin.

  14. Tarayıcınız adresine https://localhost:63000/dönmelidir. Test kimliğinizin adının sayfanın sağ üst bölümünde göründüğüne dikkat edin. Bu veriler kimlik sağlayıcısı tarafından verildi ve ACS aracılığıyla uygulamanıza döndürüldü.