特性设计

特性名称 特性描述 设计约束
单点登录(Single Sign On) 多个系统共用一个登录认证平台,一次登录就可以访问互相信任的其他应用系统。 目前单点登录系统适用于开发者平台(Developer Portal)、应用仓库(Application Store)和管理系统(MEC Manager)。
手机验证 用户在注册时需要提供手机号码,系统会向提供的手机号码发送验证码,通过校验的账户才能成功注册,并且一个手机号码只能注册一个账号。注册成功后可以使用用户名+密码登录或者手机号+密码登录。 用户注册时填写的手机号和用户名必须是唯一的,如果手机号或用户名已存在,则无法成功注册。
访客登录 访客是系统内置的一个GUEST账号,访问首页时自动登录。在访客登录时,用户可以查看系统的大部分功能,但是不能在系统中进行创建/删除/修改登录操作。 访客的默认用户名和密码是GUEST/GUEST,部署时如需修改密码请通过登录数据库修改,如果想停用GUEST账号,请从数据库中直接删除。

单点登录

单点登录系统是基于ServiceComb、Spring Security、Oauth2、JWT、Vue等技术实现,采用OAuth2协议的授权码模式(authorization code),MECM、AppStore、Developer作为客户端,与认证服务器user-mgmt-be进行交互,实现单点登陆与单点注销功能。使用Cookie+Session机制实现用户认证鉴权和超时退出功能,使用JWT存储用户基本信息,减轻认证服务器压力。

单点登录时序图

../../_images/165324_cdda101c_5504908.png单点登录时序图

单点注销时序图

../../_images/165333_fa1db216_5504908.png单点注销时序图

手机验证

用户管理使用的手机验证来注册和忘记密码。短信业务使用的华为云消息&短信服务,详细信息请点击这里

说明:
1 如果没有购买短信服务,手机验证功能可以通过配置屏蔽,具体步骤如下:
user-mgmt下配置文件application.properties,设置sms.enabled=false
2 目前只满足中国大陆手机号可以注册。

界面设计


../../_images/165626_169c8546_5504908.png登录界面

登录界面

../../_images/165638_d9f1d3b4_5504908.png注册界面

注册界面

../../_images/165650_2ab44fd1_5504908.png

忘记密码界面

验证流程


用户注册

用户注册时,用户管理需要完成以下工作:

  1. 手机号和用户名都需要做唯一性校验,注册时必须通过手机验证码校验
  2. 用户名大于6位
  3. 用户输入用户名和手机号时,动态调用后台接口,判断用户名或者手机号是否已被注册

注册流程.png忘记密码

忘记密码

用户忘记密码时,用户管理需要完成以下工作:

  1. 用户输入手机号时,动态调用后台接口,判断手机号是否已被注册,如果已经被注册,可进行下一步发送验证码,如果没有被注册,提示用户先进行注册。
  2. 修改成功后,返回登录界面。

忘记密码流程.png忘记密码流程