Мне нужно, чтобы в моем приложении Angular была функция, позволяющая администратору выходить из системы и завершать сеанс пользователя, вошедшего в систему.Мой бэкэнд основан на спокойном API Spring Boot с настраиваемой аутентификацией.Как вручную выйти из системы вошедшего в систему пользователя и завершить его сеанс при использовании Angular?
У меня есть контроллер, который меняет флаг в столбце 'logged_in' в таблице пользователей в базе данных.Однако это не выводит пользователя из системы и не завершает его сеанс по желанию, вместо этого выходит из системы текущий пользователь (admin) вместо другого пользователя, вошедшего в систему.
Мой угловой код, в котором я выполняю вызов API:
this.apiService.LogUserOut(this.userProfile).subscribe(res => {
this.blockUI.stop();
this.response = res;
// end user session
this.authService.logout(this.userProfile.username).subscribe(data => {});
this.router.navigate(['/auth']);
this.globalService.setAuth(false);
localStorage.removeItem('otc');
});
Конечная точка контроллера:
// logout a logged-in user
@PostMapping(value = "/sysusers/logUserOut")
public ResponseEntity<?> LogUserOut(@RequestBody User user) throws
Exception {
System.out.println("User logged out: " + user.getUsername());
userService.SetUserLoggedOut(user.getUsername());
return new ResponseEntity<>(new
CustomResponse(CustomResponse.APIV, 201, true, "You have logged the user
out"), HttpStatus.OK);
}
Я ожидаю, что система отфильтрует и проверит, вошел ли пользователь в систему так, что, когда администратор выходит из системы, система можетуведомить, в противном случае система должна выйти из системы.Я знаю, как выйти из системы текущего пользователя, но не знаю, как принудительно выйти из системы других пользователей, поэтому некоторая помощь по этому вопросу будет принята с благодарностью.Спасибо.