2017-05-06 3 views
0

Google에서 메시징을 위해 SignalR을 사용하고 있습니다. 이 메시징 시스템을 자체적으로 앱으로 설정해야합니다. 따라서 우리의 모든 응용 프로그램은이 메시지 응용 프로그램에 연결하여 메시지를 보냅니다. 이 모든 것은 정상적으로 작동하지만 SignalR 메시징 앱을 안전하게 보호하는 방법에 대해서는 확신 할 수 없습니다. 우리는 앱에 연결하기를 원할뿐입니다 (기본적으로 앱 사용자). 연결하려는 다른 연결이 있으면이 연결을 거부하려고합니다. 현재 우리는 서버 측에서 유효성을 검사 할 수있는 쿼리 문자열 매개 변수를 설정했지만 연결이 이루어지기 전에 어떻게 검증 할 수 있는지 잘 모르겠습니다. 허브에서 OnConnected를 재정의 할 수 있다는 것을 알고 있지만 너무 늦었습니다. 연결이 시작되기 전에 연결을 거부하고 싶습니다.SignalR 연결을 허용하지 않음

누군가 올바른 방향으로 나를 가리킬 수 있습니까?

답변

0

ASP.NET 응용 프로그램에서이를 수행합니다. 우리는 인증 모듈을 구현했습니다. 우리는 거기에있는 쿠키와 사용자를 확인합니다.

+0

안녕하세요. 어떻게 설정했는지 설명해 주시겠습니까? 이제는 패키지 솔루션이 없다는 것이 나에게 명백하다. – Amitesh

+0

우리는 모듈의'Init' 메소드에서'HttpApplication.AuthenticationRequest'에 연결된'IHttpModule'을 가지고 있습니다. 'AuthenticationRequest' 델리게이트는 쿠키가 좋은지 아닌지'HttpContext.User'와'System.Threading.Thread.CurrentPrincipal'을 채 웁니다. 우리는 컨트롤러 API를'System.Web.Http.AuthorizeAttribute'로 꾸미므로, 인증 된 신원이없는 요청은 401없이 실패합니다. 위임자가 발생하기 때문에 이것은 SignalR이있는 연결이 설정되기 전에 호출됩니다. 모든 요청에 ​​대해 - 그러나 당신은 확인해야합니다. –