在我的网络应用程序中,当我以“Admin”身份登录时,我将能够查看、激活、删除等我应用程序的用户配置文件。 当管理员激活用户配置文件时,用户将能够访问该应用程序。 当管理员停用用户配置文件时,用户将无法访问该应用程序。 问题出现在以下场景中。我在一个浏览器(比如 IE)中以某个 ACTIVATED 用户 XYZ 的身份登录。我在另一个浏览器(比如 Chrome)中以管理员身份登录。现在,我正在停用该激活的用户。
我的预期行为是,在另一个浏览器中打开的 XYZ 应该注销并重定向到登录页面以重新登录。但现在,即使在停用 XYZ 后,该 session 也仅处于登录状态。
我已经尝试了 n 种方法来解决这个问题,但没有任何收获。 由于我的代码太长,这里是处理这个问题的代码片段。
HTML:
<tbody *ngIf = "users">
<tr *ngFor = "let user of users; trackBy: trackIdentity">
<td>
<button class="btn btn-danger btn-sm" (click)="setActive(user, true)" *ngIf="!user.activated">Deactivated</button>
<button class="btn btn-success btn-sm" (click)="setActive(user, false)" *ngIf="user.activated" [disabled]="currentAccount.login === user.login">Activated</button>
</td>
</tr>
</tbody>
组件.ts:
setActive(user, isActivated) {
user.activated = isActivated;
this.userService.update(user).subscribe(
(response) => {
if(response.status === 200) {
this.error = null;
this.success = 'OK';
this.loadAll();
}
else {
this.success = null;
this.error = 'ERROR';
}
}}
非常欢迎可以解决我的问题的建议和代码片段。
也欢迎使用 jQuery
和 Javascript
解决方法!
最佳答案
由于您选择了 JWT 身份验证类型,因此没有会话。
在他/她的 token 过期之前,经过身份验证的用户将保持身份验证和授权。
关于javascript - Angular 和 Typescript - 从管理员登录中停用其他用户时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49611467/