Aracılığıyla paylaş


Kalıcı SignalR Bağlantıları için Kimlik Doğrulaması ve Yetkilendirme (SignalR 1.x)

Patrick Fletcher, Tom FitzMacken tarafından

Uyarı

Bu belgeler SignalR'nin en son sürümüne yönelik değildir. ASP.NET Core SignalR'ye 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 SignalR uygulamasıyla tümleştirme hakkında genel bilgi için bkz. Güvenliğe Giriş.

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; 
    } 
}

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