Asp.Net Core. Авторизация в SignalR через консольный клиент. Удаление noauth пользователя
Как удалить клиента если он не прошел проверку? Есть вот такой мини код, и мне нужно в случае если авторизация не пройдет - удалить пользователя. Как вариант я думал не удалять, а авторизованных кидать в отдельную группу, но это такое себе решение
public Task Authorize(string username, string password)
{
using (var db = new UserContext())
{
var user = db.Users.FirstOrDefault(u => u.UserName == username);
if (user != null)
{
return Clients?.Caller.SendAsync("Send", $"Successfully Authorized, {user.UserName}");
}
return Clients?.Caller.SendAsync("Send", $"Unsuccessfully Authorized, {username}");
}
}
Ответы (1 шт):
Автор решения: VillyFiki
→ Ссылка
Для отключения используется Context.Abort();
public Task Authorize(string username, string password)
{
using (var db = new UserContext())
{
var user = db.Users.FirstOrDefault(u => u.UserName == username);
if (user != null)
{
return Clients?.Caller.SendAsync("Send", $"Successfully Authorized, {user.UserName}");
}
Context.Abort();
return Clients?.Caller.SendAsync("Send", $"Unsuccessfully Authorized, {username}");
}
}