Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sampel ini menunjukkan cara mengonfigurasi WSHttpBinding pengikatan untuk menggunakan keamanan tingkat pesan dengan autentikasi Windows. Sampel ini didasarkan pada Panduan Memulai. Dalam sampel ini, layanan dihosting di Internet Information Services (IIS) dan klien adalah aplikasi konsol (.exe).
Nota
Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.
Keamanan default untuk <wsHttpBinding> adalah keamanan pesan menggunakan autentikasi Windows. File konfigurasi dalam sampel ini secara eksplisit mengatur mode atribut <keamanan> ke Message dan clientCredentialType atribut ke Windows. Nilai-nilai ini adalah nilai default untuk pengikatan ini, tetapi telah dikonfigurasi secara eksplisit, seperti yang ditunjukkan dalam konfigurasi sampel berikut untuk menunjukkan penggunaannya.
<bindings>
<wsHttpBinding>
<binding>
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
Konfigurasi titik akhir klien terdiri dari alamat absolut untuk titik akhir layanan, pengikatan, dan kontrak. Pengikatan klien dikonfigurasi dengan securityMode dan authenticationMode yang sesuai.
<system.serviceModel>
<client>
<endpoint address=
"http://localhost/servicemodelsamples/service.svc"
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</client>
<bindings>
<wsHttpBinding>
<!-- The default security for the WSHttpBinding is -->
<!-- Message security using Windows authentication. -->
<!-- This configuration explicitly defines the security mode -->
<!-- as Message and the clientCredentialType as Windows -->
<!-- for demonstration purposes. -->
<binding name="Binding1">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
Kode sumber layanan telah dimodifikasi untuk menunjukkan bagaimana ServiceSecurityContext dapat digunakan untuk mengakses identitas pemanggil.
public string GetCallerIdentity()
{
// The Windows identity of the caller can be accessed on the ServiceSecurityContext.WindowsIdentity.
return OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
}
Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol klien. Metode pertama yang disebut - GetCallerIdentity - mengembalikan nama identitas pemanggil kembali ke klien. Tekan ENTER di jendela konsol untuk mematikan klien.
Untuk menyiapkan, mengompilasi, dan menjalankan sampel
Pastikan Anda telah melakukan Prosedur Penyiapan One-Time untuk Sampel Windows Communication Foundation.
Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.
Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi dalam Menjalankan Sampel Windows Communication Foundation.