[]
        
(Showing Draft Content)

双因子认证

功能概述

为了满足客户对于安全性的更高要求,我们提供了“双因子认证”功能,开启该功能后,用户在登录页面输入正确的用户名和密码并点击“登录”按钮后,会收到一个6位的验证码,正确输入该验证码后才能最终成功登录到系统。开启该功能可以有效地阻止用户名密码泄露后,数据被别人查看甚至下载导出等安全隐患。

image

  • 该功能默认是关闭的,需要管理员登录到系统管理页面,然后在“安全设置”->“双因子认证”页面手动开启。

  • 目前支持通过邮件和短信两种方式发送验证码。

  • 安全提供程序,单点登录,和钉钉/企业微信等集成用户不受此功能的影响。

使用邮箱

我们支持通过邮件发送验证码,此时需要选择“验证方式”为“邮箱”,并根据您的需要输入“邮件主题”和“邮件正文”。

type=warning

注意:在邮件正文中,您必须输入字符“{@code}”,否则无法保存设置。用户在收到的邮件中,该字符会被替换为真实的验证码。

image

所有的信息输入完成后,只有点击“测试设置”并成功发送邮件之后,您才能保存该设置。

type=warning

注意:管理员用户必须在确保自己使用的邮箱能成功收到发送的验证码之后,再保存设置,开启双因子认证功能。如果测试显示成功,但是没有收到验证码(比如管理员的邮箱地址填错了),此时一定要检查用户的邮箱地址和邮箱设置并重新测试,直到能收到发送的测试验证码,再保存设置。

image

使用短信

我们支持通过阿里云提供的短信服务来发送验证码,此时您需要选择验证方式为“短信”,并输入阿里云短信服务提供的“AccessKeyId”,“AccessKeySecret”,“签名”,和“模板代码”等信息。

阿里云短信服务有关的详细信息可用参考 https://www.aliyun.com/product/sms

所有的信息输入完成后,只有点击“测试设置”并成功发送验证码后,您才能保存该设置。

type=warning

注意:管理员用户必须在确保自己使用的电话号码能成功收到发送的验证码之后,再保存设置,开启双因子认证功能。如果测试显示成功,但是没有收到验证码(比如管理员的电话号码填错了),此时一定要检查用户的电话号码和短信相关设置并重新测试,直到能收到发送的测试验证码,再保存设置。

image

登录流程

双因子认证功能开启后,用户登录的时候需要先输入用户名和密码,验证通过后会跳转到验证码输入页面,用户输入正确的验证码后才能正常登录并使用系统。

image

验证码验证失败后,需要重新输入,或者返回登录页面,输入用户名和密码后,请求发送新的验证码。

image

失效机制

验证码在下列几种情况下会失效,需要重新返回到登录页面,输入用户名密码并请求新的验证码。

  1. 验证码发送后超过设置的超时时间。

  2. 单server环境下,服务重启之后,之前发送的验证码会失效。

  3. 同一个用户在请求了新的验证码之后,该用户之前请求的验证码会失效。

异常处理

在开启了双因子认证功能后,如果发生了一些异常情况(比如负责发送验证码的邮箱服务器宕机了,或者阿里云账号欠费了无法发送短信)导致验证码无法正常接收,从而导致用户无法登录系统,该功能也无法关闭。此时有两种方式可以关闭该功能,让用户可以正常登录系统。

  1. 使用安全提供程序,单点登录,或者钉钉/企业微信等集成用户登录到系统,然后进入系统管理页面,关闭双因子认证功能。

    优点:使用这种方式不需要修改任何服务配置,不需要重启服务。

    缺点:使用这种方式要求登录的集成用户具有系统管理员的角色。

  2. 修改配置文件,在Server节点下添加一个名为DisableTfa的节点,并设置其值为true

    <Server>

    <DisableTfa>true</DisableTfa>

    </Server>

    我们支持通过邮件发送验证码,此时需要选择“验证方式”为“邮箱”,并根据您的需要输入“邮件主题”和“邮件正文”。

    type=warning

    注意:

    修改配置文件后,需要重启服务,该配置项才能生效。

    如果是多Server部署,需要修改每个服务器节点的配置文件并重启服务。