1、身份用户指定成唯一的外部联系人

用户身份只指定成固定的用户，可通过window.TEAMS?.currentUser?.loginAccount查看用户登录账户

如该账户身份账户为c595da6f38@weaver.com

[图片附件未整合: ../../../../_assets/356993826147008512/001-75d8131086.png]

2、通过ecode拦截该外部联系人的系统登录

如果用户登录其他地址，直接返回外发界面或登录界面，可实现用户无法访问除指定页面的其他页面。

```javascript
const logout = () => { //模拟系统登出
  if (window.weappLayout) {
    window.weappLayout.ee.emit('layout.logout', true);
  }
  if (window.ePassport?.logout) {
    const hook = weappUtils.getAsyncHook('weappLayout', 'beforeLogout');
    if (hook) {
      hook(0);
    }
    window.ePassport.logout(() => {
      const hook = weappUtils.getAsyncHook('weappLayout', 'afterLogout');
      if (hook) {
        hook(0);
      }
    });
  }
}
weappUtils.historyUtil.block((tx) => {
  //通过loginAccount判断是免登录的外部联系人
  const isExternal = window.TEAMS?.currentUser?.loginAccount === "c595da6f38@weaver.com";
  const isFreePass = tx?.pathname?.includes?.('/freepass/'); // 针对freepass的放过
  if (isExternal) {
    if(isFreePass){
      return true
    }
    //location.replace('/login'); //返回到外发地址或登录地址
    logout(); //登出
    return false;
  }
  return true;
});
```
