ID Artikel: 813834 - Kajian Terakhir: 03 Oktober 2011 - Revisi: 2.0

CARA: Pass arus kredensial untuk ASP.Layanan NET Web

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Artikel ini referensi berikut.NET Framework kelas perpustakaan namespace:
System.net

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara untuk lulus pengguna saat ini mandat untuk layanan XML Web yang dibuat dengan menggunakan ASP.NET.

The DefaultCredentials properti CredentialCache kelas berisi sistem kredensial keamanan konteks. Untuk aplikasi-aplikasi client, surat-surat ini mewakili nama pengguna, sandi, dan domain pengguna yang saat ini logon. Klien kredensial tidak diloloskan secara otomatis. Untuk lulus klien Windows keamanan konteks untuk layanan Web, Anda harus mengatur The Kredensial properti Web layanan proxy untuk CredentialCache.DefaultCredentials.


Menciptakan layanan Web

  1. Mulai Microsoft Visual Studio.NET. Buat baru ASP.Layanan NET Web proyek dengan menggunakan Visual C#.NET atau Visual Basic.NET. Secara default, Service1.asmx dibuat.
  2. Nama proyek MyWebService.
  3. Dalam solusi Explorer, klik kananService1.ASMX, lalu klik Lihat Kode.
  4. Dalam Service1.ASMX.cs berkas (atauService1.ASMX.VB file jika Anda menggunakan Visual Basic.NET), menghapus komentar pada standar WebMethodHelloWorld().
  5. Pada Bangun menu, klik Bangun Solusi.
  6. Ketik URL berikut pada browser Anda untuk melihatService1 Web layanan deskripsi:
    http://localhost/MyWebService/Service1.ASMX
  7. Untuk menguji HelloWorld WebMethod, klik HelloWorld link. Perhatikan bahwa WebMethod bekerja seperti yang diharapkan.

Mengatur Windows otentikasi terpadu untuk layanan Web

  1. Klik Mulai, arahkan keTataan, lalu klik Kontrol Panel.
  2. Di Panel kontrol, klik dua kali Administratif Alat.
  3. Klik dua kali Internet informasi Layanan.
  4. Memperluas Internet informasi Layanan, dan kemudian cari MyWebService Virtual direktori.
  5. Klik kanan MyWebService, lalu klikProperti.
  6. Klik Direktori keamanan tab. di bawahAnonim kontrol akses dan otentikasi, klikMengedit.
  7. Dalam Metode otentikasi kotak dialog, Klik untuk memilih kotak centang untuk Terpadu Windows otentikasi.

Menggunakan layanan Web

  1. Buat baru ASP.Aplikasi NET Web dengan menggunakan Visual C#.NET atau Visual Basic.NET. Nama proyek WebServiceTest.
  2. Dalam solusi Explorer, klik kananReferensi, lalu klik Menambahkan referensi Web.
  3. Dalam Alamat teks kotak, ketik URL berikut WebServiceTest:
    http://localhost/MyWebService/Service1.ASMX
  4. Klik Pergi, kemudian klik Menambahkan referensi.
  5. Dalam solusi Explorer, klik kananWebForm1.aspx, lalu klik Lihat kode.
  6. Dalam tampilan desain WebForm1, klik dua kali WebForm1 untuk Buka Page_Load acara kode. Perubahan Page_Load acara kode sebagai berikut:

    Visual C#.NET contoh kode
    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 contoh kode
    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. Pada Bangun menu, klik Bangun Solusi.
  8. Ketik URL berikut pada browser untuk melihat Service1 Web layanan deskripsi:
    http://localhost/WebServiceTest/WebForm1.aspx
  9. Anda mungkin menerima pesan kesalahan akses ditolak. Hal ini terjadi karena Anda kredensial tidak disampaikan dengan permintaan layanan Web otentikasi.

Lulus kredensial saat ini untuk Layanan web

The CredentialCache kelas milik System.net namespace.
  1. Tambah deklarasi namespace berikut ke atas berkas:

    Visual C#.NET contoh kode
    using System.Net;
    Visual Basic.NET contoh kode
    Imports System.Net
  2. Menetapkan DefaultCredentials untuk Kredensial properti dari sisi klien layanan Web proxy. Untuk melakukan ini, mengubah kode Page_Load peristiwa sebagai berikut:

    Visual C#.NET sampel:
    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 contoh kode
    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. Pada Debug menu, klikMulai. Halo dunia muncul dalam browser.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di Microsoft Basis Pengetahuan:
811318  (http://support.microsoft.com/kb/811318/EN-US/ ) PRB: "Akses ditolak" kesalahan pesan ketika Anda menelepon layanan Web sementara anonim otentikasi dimatikan
Untuk informasi lebih lanjut, kunjungi berikut Microsoft Web site:
http://msdn2.Microsoft.com/en-us/library/aa302415.aspx (http://msdn2.microsoft.com/en-us/library/aa302415.aspx)

Berlaku bagi:
  • 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
Kata kunci: 
kbwebservices kbwebforms kbsecurity kbauthentication kbhowtomaster kbmt KB813834 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:813834  (http://support.microsoft.com/kb/813834/en-us/ )