文档首页 / 登录集成

登录集成

配置用户的身份验证方式(平台内置、LDAP、HTTP),设置登录超时、密码策略、滑块验证与登录锁定,说明第三方系统免登的可用方式。

概述

Sight Report 的登录由两部分配置组成:

  • 身份验证方式:决定用户输入账号密码后由谁来校验。可以是平台自己校验(平台内置认证),也可以委托给企业的 LDAP/AD 服务器或一个 HTTP 认证接口。
  • 登录策略:登录超时、单一登录、密码强度、定期改密、滑块验证、失败锁定,作用于所有用户。

第三方业务系统需要让用户免登录进入报表时,使用签名免登,不使用登录接口。

当前版本不提供 OAuth 2.0、CAS、SAML 等标准单点登录协议,企业统一登录只能通过 LDAP、HTTP 认证或签名免登实现。

功能入口

配置内容 入口
身份验证方式 系统 > 用户管理 > 「身份验证」 标签页
登录超时、单一登录、密码策略、滑块验证、登录锁定 系统 > 系统设置 > 「登录」 标签页
解除被锁定的账号 系统 > 系统设置 > 「登录解锁」 标签页

身份验证方式

「身份验证」页面把用户分为两类,分别设置认证方式:

用户类别 适用对象 可选认证方式
导入/添加用户 在系统里手动添加或用 Excel 导入的用户 平台内置认证、LDAP 认证、HTTP 认证
同步用户 通过用户同步得到的用户 平台内置认证、LDAP 认证、HTTP 认证、同步来源认证(沿用用户同步来源的认证方式)

用户类别与可选认证方式的对应关系,以及认证失败策略

配置步骤

  1. 进入 系统 > 用户管理,打开「身份验证」标签页。
  2. 展开「导入/添加用户的认证方式」或「同步用户的认证方式」,选择「认证方式」。
  3. 选择 LDAP 或 HTTP 后,填写下面两节的连接参数。
  4. 展开「高级设置」,按需调整认证失败策略、超时与缓存。
  5. 点击「保存配置」。
  6. 点击「测试认证」,选择用户类型,输入一个真实用户名和密码,提示「认证测试成功」即配置可用。选择平台内置认证时不需要测试。

页面上的「重置」按钮把表单恢复为上次保存的配置。

LDAP 认证参数

属性 说明 取值/默认值
服务器地址 LDAP 服务器地址,前缀可选 ldap:// 或 ldaps:// 必填,如 ldap://ldap.example.com:389
Base DN 搜索的根节点 必填,如 dc=example,dc=com
绑定DN 用于绑定服务器的 DN 留空表示匿名访问
绑定密码 绑定 DN 对应的密码 可选
用户过滤器 按登录账号查找用户的过滤表达式,账号用 {0} 占位 必填,如 (&(objectClass=person)(uid={0}))
SSL/TLS 是否使用加密连接 开关
忽略证书 是否忽略服务器证书校验 开关
连接超时 连接超时时间 数值
认证方式 LDAP 绑定机制 简单认证 (Simple)、DIGEST-MD5、CRAM-MD5
引用追踪 是否跟随 LDAP 引用 开关
快速配置 按预设模板填充常用属性 自定义配置、Active Directory、OpenLDAP、FreeIPA

HTTP 认证参数

用户登录时,系统向你提供的认证接口发一次请求,再按规则判断是否认证成功。

属性 说明 取值/默认值
验证地址 认证接口地址,可选 GET 或 POST 必填,如 https://auth.example.com/api/verify
用户名参数 请求中用户名的参数名 占位提示 username
密码参数 请求中密码的参数名 占位提示 password
判断方式 如何判断认证成功 判断响应字段值、判断 HTTP 状态码、判断响应包含文本
成功字段 / 成功值 判断方式为「判断响应字段值」时,JSON 响应中的字段路径,以及成功时该字段的值 如 success 与 true
成功状态码 判断方式为「判断 HTTP 状态码」时,多个用逗号分隔 如 200,201
包含文本 判断方式为「判断响应包含文本」时,响应包含该文本则成功 如 success
请求头 自定义请求头,名称与值成对填写 可选
请求体格式 请求体的编码 JSON、Form Data
请求体模板 请求体格式为 JSON 时的模板,$username 和 $password 会替换为实际值 可选
忽略SSL证书 是否忽略 HTTPS 证书校验 开关
请求超时 请求超时时间 数值
字符编码 响应字符编码 UTF-8(默认)、GBK、GB2312

高级设置

属性 说明 取值/默认值
认证失败策略 外部认证(LDAP/HTTP)失败时的处理方式 「拒绝登录」(默认)、「回退到平台认证」
认证超时时间 外部认证请求的超时时间 5 到 120 秒,默认 30
认证缓存 启用后缓存认证结果,减少对外部服务的请求 默认关闭
缓存时间 认证缓存有效期,启用缓存后出现 1 到 1440 分钟,默认 30

注意:认证失败策略选「回退到平台认证」时,外部认证失败后会改用平台里保存的密码校验。

登录策略

以下设置在 系统 > 系统设置 > 「登录」 标签页,修改后自动保存,提示「保存成功」。「默认值」列是后端属性的内置默认值。

单一登录、超时与验证

属性 说明 取值/默认值
单一登录 同一账号同一时间只允许一处登录 默认关闭
登录模式 开启单一登录后出现:「后登录踢出先登录」或「已登录禁止再登录」 默认后登录踢出先登录
登录超时 连续无操作超过该时长后自动退出登录,使用中自动续期 10 到 43200 分钟,内置默认 1440
滑块验证 登录时需要完成滑块拼图验证 默认关闭

密码策略

属性 说明 取值/默认值
密码定期更新 到期后强制用户修改密码 默认关闭;周期 7 到 365 天,默认 90
提前提醒 到期前提醒用户改密 默认关闭;提前 1 到 30 天,默认 7
密码强度限制 总开关,控制以下各项 默认开启
最小长度 密码最少位数 6 到 16 位,默认 8
包含数字 / 小写字母 / 大写字母 / 特殊字符 密码必须包含对应字符 默认均不要求
不包含账号名 密码不得包含登录账号 默认关闭
历史密码重复校验 修改密码时禁止使用之前用过的密码 默认关闭;个数 1 到 20,默认 3
初始密码强制修改 新用户首次登录或管理员重置密码后必须修改 默认关闭

注意:从外网 IP 登录时,服务端会检查密码是否满足当前的强度设置,不满足的账号不允许从外网登录,提示「密码复杂度不符合要求,不允许外网登录」。

登录锁定

属性 说明 取值/默认值
登录锁定 连续输错密码后锁定 默认开启
内网不锁定 内网登录不触发锁定 默认关闭
错误次数限定 连续输错多少次后锁定 3 到 100 次,默认 5
锁定时长 锁定分钟数 5 到 600000 分钟,默认 10
锁定对象 按账号或按 IP 锁定 「账号」(默认)、「IP」

账号或 IP 被锁定后,管理员可以在 系统设置 > 「登录解锁」 列表中对锁定对象点击「解锁」(列表列出锁定对象类型:账号、IP、设备)。

未在界面开放的配置

以下配置项没有界面入口,通过配置文件或系统配置表 app.login.* 设置:

配置键 说明 默认值
app.login.remember-me-enabled 登录页是否提供「记住我」 true
app.login.remember-me-timeout 「记住我」的登录有效期,单位分钟,最小不低于登录超时,最大 43200 10080(7 天)
app.login.allow-login-from-any-ip 是否允许从任意 IP 登录 true

登录接口

网页登录使用 POST /api/auth/login。请求体:

字段 说明 取值/默认值
account 账号 必填,最长 200 字符
password 密码 必填。网页端对密码做了前端加密后提交,服务端先解密再校验
captchaId 滑块验证通过后的验证码 ID 开启滑块验证时必填
rememberMe 是否记住我 可选,需服务端启用「记住我」

成功时 data 包含:

字段 说明
token 登录令牌。调用其他接口时放在请求头 satoken 中
userInfo 用户信息:userName、account、email、mobile、sex、isAdmin、roles
passwordExpired 密码是否已过期,需强制修改
passwordMessage 密码过期或即将过期的提示

注意:password 字段要求前端加密后的密文,不是明文,登录接口是给平台自己的登录页使用的,不适合第三方系统直接调用。第三方系统请使用签名免登。

相关的无需登录接口:

接口 方法 说明
/api/auth/loginConfig GET 登录页配置:是否需要滑块验证 slideValidate、是否提供记住我 rememberMeEnabled、密码找回渠道 passwordRecovery
/api/auth/captcha GET 生成滑块验证码
/api/auth/captcha/verify POST 校验滑块轨迹
/api/auth/logout GET/POST 退出登录

第三方系统免登

场景 做法
在业务系统页面里嵌入报表 服务端用 appSecret 生成签名,拼到嵌入地址的 _s 参数上,用户无需登录平台。见签名免登与报表嵌入
业务系统账号自动对应到平台账号 首次嵌入访问时,系统按签名里的账号自动建号,见三方集成应用
让平台账号沿用企业目录密码 在「身份验证」里选 LDAP 或 HTTP 认证

示例

企业已有 AD 域,希望员工用域账号密码登录 Sight Report:

  1. 在 系统 > 用户管理 > 「用户同步」 中新建一个 LDAP 同步,把域用户同步进来,参见用户同步。
  2. 打开「身份验证」,展开「同步用户的认证方式」,选择「LDAP 认证」。
  3. 「快速配置」选 Active Directory,填写「服务器地址」「Base DN」「绑定DN」「绑定密码」。
  4. 「高级设置」保持「拒绝登录」,保存后点击「测试认证」,输入一个域账号验证。

预期:同步来的用户登录时由 AD 校验密码。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。