FgxAdmin快速开发平台是一个基于代码生成器的通用型管理后台解决方案,采用前后端分离架构, 支持多租户模式,支持微服务架构。为了适配各行业大小企业需求,账号体系的设计必须在确保系统安全性的前提下,做到可定制和可扩展。
账号与成员
FgxAdmin快速开发平台采用了清晰的账号与成员分离策略,以适应多租户环境的复杂性。
- 账号:代表平台上的一个独立个体,通常对应于一个自然人。每个账号拥有唯一的身份标识,是平台服务的基础单位。
- 成员:在企业(租户)级别,账号以成员的身份参与,允许多个账号加入同一企业,一个账号可加入多个企业。这种设计确保了企业在使用FgxAdmin时能够灵活管理其成员权限,促进内部协同。
用户注册
为满足不同企业的注册需求,FgxAdmin快速开发平台提供了被动注册和主动注册两种方式。
- 被动注册
企业管理员通过后台界面直接为用户创建账号,该账号在创建后处于待激活状态。用户首次登录时,需通过手机验证码验证身份,完成账号激活流程。这种方式便于企业对员工账号进行集中管理,确保账号的安全性和合规性。
- 主动注册
管理员在后台生成邀请注册链接,并可选择是否需要审批。
-
- 需要审批:用户通过邀请链接注册后,账号状态为待审批。管理员在后台审核通过后,用户方可正常登录。
- 无需审批:用户注册后账号状态为待激活,首次登录时通过验证码激活账号。这种方式简化了注册流程,提高了用户体验,适用于信任度较高的用户群体。
登录认证
FgxAdmin快速开发平台支持多种登录方式,以满足不同场景下的需求,确保登录过程的安全与便捷。
- 账号密码
-
- 用户名+密码:传统的登录方式,支持用户名(username)作为唯一标识。
- 手机号+密码:通过绑定手机号,用户可以使用手机号作为登录凭证,增强账号的安全性和便利性。
- 邮箱地址+密码:通过绑定邮箱,用户可以使用邮箱地址作为登录凭证,增强账号的安全性和便利性。
- 手机短信验证码
在用户未设置密码、忘记密码或出于安全考虑不愿输入密码时,可通过手机短信验证码进行登录。这种方式要求平台对接短信服务供应商,发送短信会产生额外的费用。
- 邮箱验证码
类似手机短信验证码,但通过发送邮件至用户绑定的邮箱地址实现。系统使用SMTP协议发送邮件,不会产生额外费用,适用于用户已绑定邮箱且网络环境稳定的情况。
修改密码
FgxAdmin快速开发平台提供了多种修改密码的方式,以确保用户能够方便地更新其登录凭证。
- 原密码:用户输入当前密码后,可设置新密码。
- 手机短信验证码、邮箱验证码:在用户忘记密码或出于安全考虑时,可通过接收验证码来验证身份并修改密码。
提醒修改密码
为了保障账号安全,系统会在以下情况下提醒或强制用户修改密码:
- 用户未设置密码。
- 用户使用初始密码。
- 超过设定天数未修改密码。
这些策略均可通过配置文件灵活调整,以适应不同的安全要求。
找回密码
当用户忘记密码时,可通过以下方式找回:
- 手机短信验证码:向用户绑定的手机号发送验证码,验证身份后重置密码。
- 邮箱验证码:向用户绑定的邮箱发送验证码,验证身份后重置密码。
重置密码
- 管理员重置密码
管理员在必要时可为用户重置密码,然后把密码发送给用户,因此该方式存在一定的风险,可通过配置文件的方式禁用或启用重置密码功能,重置密码时可:
-
- 生成随机密码:系统自动生成并分配一个新的随机密码给用户。
- 管理员指定密码:管理员直接为用户设置一个新的密码。
- 给绑定的邮箱发送重置密码的链接
该方式与邮箱验证码找回密码类似,因此FgxAdmin放弃了该方式。
账号与成员系统截图:
FgxAdmin快速开发平台的账号体系中的功能一般都支持多种方式,都支持在配置文件中启用或禁用,各配置项可查看官方文档。在账号体系的技术实现时会涉及到session管理、密码加密算法、用户敏感数据加密存储、用户权限管理等,限于篇幅关系会在后续的系列文章里进行分享。