SignalR 영구 연결에 대한 인증 및 권한 부여(SignalR 1.x)
작성자 : Patrick Fletcher, Tom FitzMacken
경고
이 설명서는 최신 버전의 SignalR용이 아닙니다. ASP.NET Core SignalR을 살펴보세요.
이 항목에서는 영구 연결에 대한 권한 부여를 적용하는 방법에 대해 설명합니다. Security를 SignalR 애플리케이션에 통합하는 방법에 대한 일반적인 내용은 보안 소개를 참조하세요.
권한 부여 적용
PersistentConnection을 사용할 때 권한 부여 규칙을 적용하려면 메서드를 재정의 AuthorizeRequest
해야 합니다. 영구 연결에는 Authorize
특성을 사용할 수 없습니다. 메서드는 AuthorizeRequest
사용자가 요청된 작업을 수행할 권한이 있는지 확인하기 위해 모든 요청 전에 SignalR Framework에 의해 호출됩니다. 메서드는 AuthorizeRequest
클라이언트에서 호출되지 않습니다. 대신 애플리케이션의 표준 인증 메커니즘을 통해 사용자를 인증합니다.
아래 예제에서는 인증된 사용자로 요청을 제한하는 방법을 보여 줍니다.
public class AuthenticatedConnection : PersistentConnection
{
protected override bool AuthorizeRequest(IRequest request)
{
return request.User.Identity.IsAuthenticated;
}
}
AuthorizeRequest 메서드에서 사용자 지정된 권한 부여 논리를 추가할 수 있습니다. 예를 들어 사용자가 특정 역할에 속하는지 여부를 확인합니다.