我有一个创建用户的超级管理员。超级管理员可以选择以特定用户的身份查看(就像 facebook 以按钮形式查看一样),他可以访问特定用户可以访问的所有页面。
在 Angular 中实现时,我们使用存储在 localstorage 中的 JWT 令牌,该令牌应该包含在从客户端浏览器到服务器的每个 API 调用的标头中。
我们想在 chrome 浏览器中打开一个私有窗口,我们将为其存储一个单独的令牌来访问所有与用户相关的页面,如弹出窗口或隐身窗口,我们将在其中打开 url,但使用不同的令牌。
任何人都可以建议在某些网站中打开子窗口并且在我们关闭子窗口之前无法访问父窗口的任何功能。
public loginAsTenantAdmin(tenant) {
this.tenantService.loginAsTenantAdmin(tenant.id).subscribe((response: any) => {
var hello = window.open('http://localhost:4200')
hello.sessionStorage.setItem('shadowUser', response.data.jwt);
});
}
<a (click)="loginAsTenantAdmin(tenant)" class="btn m-btn--pill btn-sm">
<i class="fa fa-user-lock" ngbTooltip="Login as Admin" style="color: teal">
</i>
</a>