身份认证的多种方式
企业门户提供多种身份认证(登录)方式:用户名密码、短信验证、行为验证码、钉钉集成、企业微信集成、App 扫码登录、token 和 user_session
用户名密码
系统默认提供用户名密码登录
- 用户名可以是用户名 username 和 手机号 phoneNumber
- 密码经过 md5 加密,存入用户表。传输中没有明文密码
- 添加用户时,可以使用系统默认密码,也可以使用管理员设置的密码
- 系统默认密码是 aSDF1@#$,支持修改系统默认密码,参考《用户服务模块》中的用户默认密码
短信验证
在“统一通用配置-短信配置”中,配置短信相关参数后,即可在“统一通用配置-登录配置”和“统一通用配置-移动端登录配置”中,开启短信登录。
开启后,在桌面端门户登录页中,切换到“手机号登录”进行短信验证登录,如下图所示
在移动端门户登录页,切换到“短信验证码登录”进行短信验证登录,如下图所示
行为验证码
在用户名密码验证和短信验证通过后,可以再通过用户的操作行为来完成验证。桌面端运行效果,如下图所示
移动端运行效果,如下图所示
在“统一通用配置-门户公共配置”中,开启行为验证码,如下图所示。行为验证码一经开启,所有登录请求都必须提供行为验证码的数据,否则无法通过
系统在“统一通用配置-行为验证码背景图片”中,提供了三张图片,用户可自行更换
钉钉扫码登录
在“统一通用配置-钉钉配置”中,配置钉钉相关参数后,即可在“统一通用配置-登录配置”和“统一通用配置-移动端登录配置”中,开启钉钉扫码登录,登录界面如下图所示
企业微信扫码登录
在“统一通用配置-企业微信配置”中,配置企业微信相关参数后,即可在“统一通用配置-登录配置”和“统一通用配置-移动端登录配置”中,开启企业微信扫码登录,登录界面如下图所示
App 扫码登录
在“统一通用配置-登录配置”中,开启 App 扫码登录,登录界面如下图所示
移动端登录后,使用“我的-扫一扫”扫描上图中的二维码,实现桌面端的登录
token
token 是指用户 token,相当于用户名和密码。系统支持使用用户 token 实现登录
前端调用下面的 URL,使用用户 token 实现登录,并打开页面。使用用户 token 打开页面参考《第三方自动登录并打开页面》
http://门户域名/login/token={userToken}?redirectUrl={pageUrl},
后端 AuthUtil 类提供 tokenLogin 方法,使用用户 token 实现登录,并返回 user_session,示例代码如下
String session = AuthUtil.tokenLogin(ServiceUtil.getServiceUrl("entry"), userToken);
user_session
请求中,用户身份是通过 Cookie 里面的 user_session 传递的,系统通过 user_session 验证用户登录状态
开发者可以利用这个特性,在使用 PostMan 等工具发送请求时,从已登录的浏览器中,获取 user_session 放到请求头的 Cookie 中,再发送请求