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
- Visual Studio 2013
- .NET 4.5
- SignalR sürüm 2
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin