注销用户并由Angular中的管理员终止会话

时间:2019-04-17 19:25:46

标签: java angular typescript spring-boot

我需要在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);
} 

我希望系统能够过滤并检查用户是否登录,以便当管理员注销用户时,系统能够进行通知,否则系统应将用户注销。我知道如何注销当前用户,但不知道如何强制注销其他用户,因此,对此将有所帮助。谢谢。

0 个答案:

没有答案