Sunucu Bağlamı Başlatma

İstemci gibi, sunucu da istemciden gelen kimlik doğrulama isteğine yanıt vermeye hazır olmakişlemek üzere birkimlik bilgileri alır. Sunucu kimlik bilgileri, sunucu kimlik doğrulamasını veya karşılıklı kimlik doğrulamasını destekleyen güvenlik protokolleri istemcide sunucunun kimliğini doğrulamak için kullanılır. Sunucu, sunucuyu başlatmak için kullanılan hizmet hesabı tarafından tanımlanan kimlik bilgileri için bir tanıtıcı alır. Bunu, AcquireCredentialsHandleçağırarak yapar.

Sunucu, kimlik bilgileri tanıtıcısını alıp bir dinleme durumuna geçebilir veya bir bağlantı isteği gelene kadar dinleme durumunda bekleyebilir ve ardından bir gelen kimlik bilgileri tanıtıcısı alabilir. Kimlik bilgileri işlevleri hakkında daha fazla bilgi için bkz. kimlik bilgisi yönetimi .

Sunucu bir istemciden bağlantı isteği iletisi aldığında, AcceptSecurityContext (Genel)kullanarak istemci için yerel bir güvenlik bağlamı oluşturur. Sunucu, aynı istemci tarafından gelecek istekleri gerçekleştirmek için bu yerel güvenlik bağlamını kullanır. Bağlam işlevleri hakkında daha fazla bilgi için bkz. Bağlam Yönetimi.

Sunucu, şu ana kadar hata olmadığından emin olmak için dönüş durumunu ve çıkış arabelleği tanımlayıcısını denetler ve hatalar varsa bağlantı isteğini reddedebilir. AcceptSecurityContext (Genel)tarafından döndürülen çıkış arabelleğinde bilgiler varsa, bu arabelleği istemciye bir yanıt iletisi olarak paketler.

AcceptSecurityContext (Genel) çıkış arabellekleri istemciye geri gönderilmelidir. Ayrıca, dönüş durumu protokolün devam etmesi gerekiyorsa (SEC_I_CONTINUE_NEEDED veya SEC_I_COMPLETE_AND_CONTINUE), istemciyle başka bir ileti değişimi gerekir.

Ek bacaklar için sunucu istemcinin başka bir iletiyle yanıt vermesini bekler. Bu bekleme zaman aşımına uğrayarak istemcinin kasıtlı olarak hiçbir zaman yanıt vermediği bir hizmet reddi saldırısını önleyerek bir sunucu iş parçacığının ve yakında tüm sunucu iş parçacıklarının yanıt vermeyi durdurmasına neden olabilir.