我需要在Angular应用程序中具有一个功能,管理员才能注销并终止登录到系统的用户的会话。我的后端基于具有自定义身份验证的Spring Boot Restful API。如何在使用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);
}
我希望系统能够过滤并检查用户是否登录,以便当管理员注销用户时,系统能够进行通知,否则系统应将用户注销。我知道如何注销当前用户,但不知道如何强制注销其他用户,因此,对此将有所帮助。谢谢。