Kalıcı SignalR Bağlantıları için Kimlik Doğrulaması ve Yetkilendirme

Patrick Fletcher, Tom FitzMacken

Uyarı

Bu belgeler SignalR'nin en son sürümüne yönelik değildir. SignalR ASP.NET Core göz atın.

Bu konuda, kalıcı bir bağlantıda yetkilendirmenin nasıl zorunlu kılındığı açıklanmaktadır. Güvenliği bir SignalR uygulamasıyla tümleştirme hakkında genel bilgi için bkz. Güvenliğe Giriş.

Bu konuda kullanılan yazılım sürümleri

Bu konunun önceki sürümleri

SignalR'nin önceki sürümleri hakkında bilgi için bkz. SignalR Eski Sürümleri.

Sorular ve yorumlar

Lütfen bu öğreticiyi nasıl beğendiğiniz ve sayfanın altındaki yorumlarda neleri geliştirebileceğimiz hakkında geri bildirim bırakın. Öğreticiyle doğrudan ilgili olmayan sorularınız varsa bunları ASP.NET SignalR forumunu veya StackOverflow.com gönderebilirsiniz.

Yetkilendirmeyi zorunlu kılma

PersistentConnection kullanırken yetkilendirme kurallarını zorunlu kılmak için yöntemini geçersiz kılmanız AuthorizeRequest gerekir. özniteliğini Authorize kalıcı bağlantılarla kullanamazsınız. Yöntemi AuthorizeRequest , kullanıcının istenen eylemi gerçekleştirme yetkisine sahip olduğunu doğrulamak için her istek öncesinde SignalR Framework tarafından çağrılır. AuthorizeRequest yöntemi istemciden çağrılmıyor; bunun yerine, uygulamanızın standart kimlik doğrulama mekanizması aracılığıyla kullanıcının kimliğini doğrularsınız.

Aşağıdaki örnekte isteklerin kimliği doğrulanmış kullanıcılarla nasıl sınırlandırıldığı gösterilmektedir.

public class AuthenticatedConnection : PersistentConnection 
{ 
    protected override bool AuthorizeRequest(IRequest request) 
    { 
        return request.User.Identity.IsAuthenticated; 
    } 
}

AuthorizeRequest yönteminde herhangi bir özelleştirilmiş yetkilendirme mantığı ekleyebilirsiniz; örneğin, bir kullanıcının belirli bir role ait olup olmadığını denetleme.