2017-04-11 4 views
2

간단히 말해서 주석 섹션이 있고 데이터베이스에 주석을 게시하면 signalr이 모든 클라이언트에서 메소드를 호출합니다.SignalR - 사용자가 인증되지 않은 경우 클라이언트 메소드가 호출되지 않음

var hub = GlobalHost.ConnectionManager.GetHubContext<NotificationsHub>(); 
hub.Clients.All.updateBlogComments(Mapper.Map<BlogCommentViewModel>(comment)); 

문제는 그 페이지 만 방문자이며, 시스템에 로그인하지 않은 사용자가 클라이언트 방법 updateBlogComments를 호출되지 않는 경우.

동일한 페이지를 방문하는 기록 된 사용자가 2 명인 경우이 방법은 두 사용자 모두에게 호출되며 아무런 문제가 없습니다. 그러나 기록 된 사용자가 댓글을 게시하면 권한이없는 사용자는 새로 업로드 된 댓글을받지 못합니다. 그것은해야한다.

어떻게 해결할 수 있습니까? 권한이 부여 된 사용자와 승인되지 않은 사용자가 실시간 코멘트를 업로드하고 싶습니다.

감사합니다.

+1

권한이없는 사용자가 허브에 제대로 연결 했습니까? 허브에 연결하는 코드 경로가 권한이없는 사용자에게 실행되지 않거나 허브 엔드 포인트가 권한 부여를 요구할 수 있습니다. – Stilgar

답변

1

해결되었습니다.

의도적으로 승인을 필요로하지 않는이 작업을위한 별도의 허브를 만들었지 만, 내가 취했던 hubcontext의 이름을 변경하는 것을 잊어 버렸습니다. 따라서 CommentsHub 대신 NotificationsHub을 계속 호출했습니다.

@ Stilgar에게 감사드립니다. 문제가있는 곳을 알려 주셔서 감사합니다.