【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

更新日期:20201104

维护研发:hades

1、设计概览

客户登录时除校验账号密码外,也校验登录锁定、弱密码、定期更新、初始密码强制更新四项设置。

当客户出现不符合的情况时,报错提示并禁止远程设计登录,引导至平台修改密码解决问题后再进行远程设计。

2、关键接口设计、数据结构



新增api 用来对接平台密码策略
RemoteDesignResource


@Controller
@RequestMapping(value = "/remote/design")
@FunctionSupport(function = VT4FR.RemoteDesign)
public class RemoteDesignResource {
     
 
    @RequestMapping(value = "/verify", method = RequestMethod.POST)
    @ResponseBody
    public Response saferGetRemoteToken(HttpServletRequest req,
                                        HttpServletResponse res) throws Exception {
        try {
            return Response.ok(RemoteDesignService.getInstance().saferGetRemoteToken(req));
        } catch (IntelligenceException | IntelligenceRuntimeException e) {
            return Response.error(e.errorCode(), e.getMessage());
        }
    }
     
}




3、功能设计方案

细分功能一:

所有异常跟随平台定义的异常

1. 获取登录token时新增四项校验 

登录锁定,可复用平台的逻辑 ,锁定后抛出UserLoginLockException ,错误码 22400031

弱密码,可复用平台逻辑,检测后抛出UserPasswordStrengthLimitException,错误码22400033

定期更新 + 初始密码强制更新,可复用平台逻辑,检测后抛出UserPasswordNeedUpdateException, 错误码22400032

校验流程:  检测是否被锁定 → 用户密码校验(不通过,登录锁定) →  检测密码是否需要初始化更新 → 检测密码长度 → 检测密码是否需要定期更新

2. 兼容性

a. 保留原来获取token的接口 (/remote/design/token),保证了老服务器 +  新设计器的远程设计兼容可用

b.在新服务器版本中添加一个新的接口,通过判断该接口是否可用构建相应请求的路径,保证新服务器 + 老设计器的远程设计兼容可用

老服务器 + 新设计器 不支持新的校验

新服务器 + 老设计器 不支持新的校验

以上两种情况,通过老的接口获取token

细分功能二:

设计器客户端提醒,根据错误码不一致,抛出不同的异常信息并展示不同提示内容的弹窗

构建通用的带超链的弹窗

  • No labels