AspNetCore SignalR Аутентификация на клиентах

194
18 апреля 2018, 05:29

Здравствуйте имеется сервер AspNetCore SignalR, на сервере открыты 2 хаба. к 1 хабу подключается С# клиент из (WinForms приложения) к 2 хабу подключается Js клиент со странички браузера.

Хотелось бы иметь список клиентов подключенных к каждому хабу. Информацию о клиенте можно брать из контекста подключения Context.User Но как добавлять информацию об Аутентификации на клиенте?

СЕРВЕР:

public class ChatHub : Hub
{
    public ChatHub() 
    {
        _communicateHubs = communicateHubs;
    }

    public override async Task OnConnectedAsync()
    {
        var ip = Context.Connection.RemoteIpAddress;
        var name = Context.User.Identity.Name;
        await base.OnConnectedAsync();
    }
    public override async Task OnDisconnectedAsync(Exception exception)
    {
        var ip = Context.Connection.RemoteIpAddress;
        var name = Context.User.Identity.Name;
        await base.OnDisconnectedAsync(exception);
    }
}

КЛИЕНТ1 (С#)

var connection = new HubConnectionBuilder()
    .WithUrl("http://localhost:9725/Hub1")
    .Build();   
await connection.StartAsync();  
//Где в HubConnectionBuilder настроить User клиента?

КЛИЕНТ2 (JS)

<script>
    let hubUrl = 'http://localhost:9725/webui';
    let httpConnection = new signalR.HttpConnection(hubUrl);
    let hubConnection = new signalR.HubConnection(httpConnection);
    hubConnection.on("Send", function (data) {
        let elem = document.createElement("p");
        elem.appendChild(document.createTextNode(data));
        let firstElem = document.getElementById("chatroom").firstChild;
        document.getElementById("chatroom").insertBefore(elem, firstElem);
    });
         
    document.getElementById("sendBtn").addEventListener("click", function (e) {
        let message = document.getElementById("message").value;
        hubConnection.invoke("Send", message);
    });
 
    hubConnection.start();
</script>
READ ALSO
Как отправить запрос с TLS 1.2 c windows embeded POSReady 2009?

Как отправить запрос с TLS 1.2 c windows embeded POSReady 2009?

Есть ком-объект который отправляет запросы на сервер (net Framework 2

209
Как привязать иконку к верхней части кнопки, а текст - к нижней?

Как привязать иконку к верхней части кнопки, а текст - к нижней?

Как привязать иконку к верхней части кнопки, а текст - к нижней? В текущей реализации компонента выглядит так:

218
Показать select при выборе значения с другого select

Показать select при выборе значения с другого select

Здравствуйте, есть такой простой пример, при выборе значения первого select появляется второй при помощи изменения параметра cssВсе хорошо работает,...

190
что такое space bug [дубликат]

что такое space bug [дубликат]

На данный вопрос уже ответили:

216