Makale numarası: 813834 - Son Gözden Geçirme: 14 Mart 2007 Çarşamba - Gözden geçirme: 2.5

NASıL YAPıLıR: Pass geçerli bir ASP.NET Web hizmeti için kimlik bilgileri

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Bu makalede, aşağıdaki Microsoft .NET Framework sınıf kitaplığı ad başvuruyor:
System.Net

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu adım adım makalede, ASP.NET kullanılarak oluşturulan XML Web hizmeti için geçerli kullanıcının kimlik bilgilerini iletmek açıklamaktadır.

CredentialCache sınıfının DefaultCredentials özelliği, sistemin geçerli güvenlik bağlamını kimlik bilgilerini içerir. Istemci uygulamaları için şu anda oturum açmış kullanıcının etki alanı kullanıcı adı ve parola bu kimlik bilgilerini gösterir. Istemcinin kimlik bilgilerini otomatik olarak geçmedi. Bir Web hizmetine istemcinin Windows güvenlik içeriğini geçirmek için <a0></a0>, CredentialCache.DefaultCredentials için Web hizmeti proxy'si kimlik bilgileri özelliğini ayarlamanız gerekir.


Web hizmetini oluşturma

  1. Microsoft Visual Studio .NET'i başlatın. Visual C# .NET veya Visual Basic .NET kullanarak yeni bir ASP.NET Web hizmeti projesi oluşturun. Varsayılan olarak, Service1.asmx oluşturulur.
  2. MyWebService projenin adı.
  3. Solution Explorer'da (Çözüm Gezgini), Service1.asmx ' ı sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  4. Service1.asmx.cs dosyayı (veya Visual Basic .NET kullandıysanız Service1.asmx.vb dosyası), varsayılan WebMethod'üzerinde açıklamayı kaldırmak HelloWorld().
  5. Yapı) menüsünde tıklatın Build Solution.
  6. Aşağıdaki URL'YI tarayıcınızdan Service1 Web hizmeti açıklamasını görüntülemek için şunu yazın:
    http://localhost/MyWebService/Service1.asmx
  7. MerhabaDünya WebMethod sınamak için <a0></a0>, MerhabaDünya bağlantıyı Ek Yardım düğmesini tıklatın. WebMethod beklendiği gibi çalışıp çalışmadığını fark.

Web hizmeti için tümleşik Windows kimlik doğrulaması'nı ayarlama

  1. Başlat ' ı tıklatın, Ayarlar ' ın üzerine gelin ve sonra Denetim Masası ' nı tıklatın.
  2. Denetim Masası'ndaki Yönetimsel Araçlar ' ı çift tıklatın.
  3. Çift ınternet ınformation Services.
  4. Internet ınformation Services ' ı genişletin ve sonra da MyWebService sanal dizini bulun.
  5. MyWebService ' ı sağ tıklatın ve sonra da Properties ' i tıklatın.
  6. Dizin Güvenliği sekmesini tıklatın. Anonim erişim ve doğrulama denetimi altında Düzenle ' yi tıklatın.
  7. Kimlik doğrulama yöntemleri iletişim kutusunda, Tümleşik Windows kimlik doğrulaması için onay kutusunu seçmek için tıklatın.

Web hizmetini kullanmak

  1. Visual C# .NET veya Visual Basic .NET kullanarak yeni bir ASP.NET Web uygulaması oluşturun. WebServiceTest projenin adı.
  2. Solution Explorer'da (Çözüm Gezgini), Başvurular ' ı sağ tıklatın ve sonra Add Web Reference</a1>'ı tıklatın.
  3. Adres metin kutusuna aşağıdaki URL'YI WebServiceTest için yazın:
    http://localhost/MyWebService/Service1.asmx
  4. Gönder ' i tıklatın ve sonra da Add Reference</a1>'ı tıklatın.
  5. Solution Explorer'da (Çözüm Gezgini), WebForm1.aspx dosyasını sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  6. Tasarım görünümü, WebForm1 içinde WebForm1Page_Load</a0> olay kodu açmak için çift tıklatın. Page_Load</a0> olay kodu aşağıdaki gibi değişir:

    Visual C# .NET örnek kod
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Start an instance of the Web Service client-side proxy.
    localhost.Service1 myProxy = new localhost.Service1();
    Response.Write( myProxy.HelloWorld());	
    }
    Visual Basic .NET örnek kodu
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    'Start an instance of the Web Service client-side proxy.
    Dim myProxy As localhost.Service1 = New localhost.Service1()
    Response.Write(myProxy.HelloWorld())
    End Sub
  7. Yapı) menüsünde tıklatın Build Solution.
  8. Tarayıcıda Service1 görüntülemek için aşağıdaki URL'YI yazın hizmet açıklaması Web:
    http://localhost/WebServiceTest/WebForm1.aspx
  9. Erişim reddedildi hata iletisi alabilirsiniz. Bu durum olan Web hizmeti isteğinin kimlik doğrulaması için kimlik bilgilerinizi teslim edilmiyor kaynaklanır.

Geçerli kimlik bilgileri Web hizmetine geçirin.

CredentialCache sınıfı System.Net ad alanına ait.
  1. Aşağıdaki ad alanı bildirimi, dosyanın en üstüne ekleyin:

    Visual C# .NET örnek kod
    using System.Net;
    Visual Basic .NET örnek kod
    Imports System.Net
  2. DefaultCredentials Web hizmeti istemci-tarafı proxy'si kimlik bilgileri özelliğini atayın. Bunu yapmak için <a0></a0>, Page_Load</a0> olay kodu aşağıdaki gibi değişir:

    Visual C# .NET örnek:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Start an instance of the Web service client-side proxy.
    localhost.Service1 myProxy = new localhost.Service1();
    myProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
    Response.Write( myProxy.HelloWorld());	
    }
    Visual Basic .NET örnek kodu
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    'Start an instance of the Web service client-side proxy.
    Dim myProxy As localhost.Service1 = New localhost.Service1()
    myProxy.Credentials = System.Net.CredentialCache.DefaultCredentials
    Response.Write(myProxy.HelloWorld())
    End Sub
    
  3. Hata Ayıkla) menüsünde, Başlat ' ı tıklatın. Merhaba World tarayıcıda görüntülenir.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
811318  (http://support.microsoft.com/kb/811318/EN-US/ ) SORUN: Anonim kimlik doğrulaması Turned kapalı, ancak Web hizmeti çağrısı açtığınızda "Erişim engellendi" hata iletisi
Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa302415.aspx (http://msdn2.microsoft.com/en-us/library/aa302415.aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbwebservices kbwebforms kbsecurity kbauthentication kbhowtomaster KB813834 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:813834  (http://support.microsoft.com/kb/813834/en-us/ )