Ověřování a autorizace trvalých připojení SignalR (SignalR 1.x)
Patrick Fletcher, Tom FitzMacken
Upozornění
Tato dokumentace není určená pro nejnovější verzi SignalR. Podívejte se na ASP.NET Core SignalR.
Toto téma popisuje, jak vynutit autorizaci u trvalého připojení. Obecné informace o integraci zabezpečení do aplikace SignalR najdete v tématu Úvod do zabezpečení.
Vynucení autorizace
Pokud chcete vynutit autorizační pravidla při použití PersistentConnection , musíte metodu AuthorizeRequest
přepsat. Atribut nelze použít Authorize
s trvalými připojeními. Metoda AuthorizeRequest
je volána rozhraním SignalR před každým požadavkem, aby se ověřilo, že uživatel je oprávněn provést požadovanou akci. Metoda AuthorizeRequest
není volána z klienta. Místo toho ověříte uživatele prostřednictvím standardního mechanismu ověřování vaší aplikace.
Následující příklad ukazuje, jak omezit požadavky na ověřené uživatele.
public class AuthenticatedConnection : PersistentConnection
{
protected override bool AuthorizeRequest(IRequest request)
{
return request.User.Identity.IsAuthenticated;
}
}
V metodě AuthorizeRequest můžete přidat libovolnou vlastní autorizační logiku. například kontrola, jestli uživatel patří do určité role.