构建账户系统

最近项目需要,自主构建一套账户系统,总结一下需要注意的问题。账户系统技术上不难,但是里面涉及到多种状态与交互,工程性比较强。

这里只考虑用邮箱注册的情况,登录名即邮箱。

1.安全问题。首选https。

2.注册,激活,登录,登出,找回密码,重置密码,重新获取激活链接,注销(暂时不做),获取用户信息。

3.设计是规划好错误提示信息和错误码

注册:邮箱已注册,

邮箱已注册,未激活

注册成功,请打开邮箱激活,

系统错误

激活:激活成功,

激活失败,

该用户已激活,

激活码过期。

登录:用户或密码错误(包括用户不存在),

用户

登出:登出失败,

登出成功。

找回密码(发送邮件):账户不存在,

邮件发送成功。

重置密码:已登录情况:

密码不一致,

修改成功,

修改失败,

系统错误。

忘记密码(通过邮箱发送修改码):

修改码已过期,

密码不一致,

修改成功,

修改失败。

3.国际化(多语言)方案

页面文案

前端错误提示

4.所有后端需要请求其它机器服务的地方都要打日志。

时间: 2024-08-21 18:57:41

构建账户系统的相关文章

一步一步用jenkins,ansible,supervisor打造一个web构建发布系统

新blog地址:http://hengyunabc.github.io/deploy-system-build-with-jenkins-ansible-supervisor/ 一步一步用jenkins,ansible,supervisor打造一个web构建发布系统. 本来应该还有gitlab这一环节的,但是感觉加上,内容会增加很多.所以直接用github上的spring-mvc-showcase项目来做演示. https://github.com/spring-projects/spring-

[译]搭建账户系统

原文地址:Building account systems 原文作者:Mike Hearn 译者:shawnchenxmu 校对者:undead25 DeadLion 搭建账户系统 Troy Hunt 近期发表了一篇题为『新时代的认证指南』的博文.文章对于「你的网站应该使用什么样的密码规则」给予了很多实用的建议,而通过参考权威机构的建议总是有助于说服同事或老板. 我在 Google 工作期间从事过的一个项目就是他们的统一账户系统(特别是反劫持).大多数网站都会有一个登录系统,阅读 Troy 的文

Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(三)

八. 构建LFS系统 1. 准备虚拟内核文件系统 内核会挂载几个文件系统用于自己和用户空间程序交换信息.这些文件系统是虚拟的,并不占用实际磁盘空间,它们的内容会放在内存里. mkdir -pv $LFS/{dev,proc,sys,run} mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/d

Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(二)

七. 构建临时系统 1. 通用编译指南 a. 确认是否正确设置了 LFS 环境变量 echo $LFS b. 假定你已经正确地设置了宿主系统的符号链接: 1)shell 使用的是 bash. 2)sh 是到 bash 的符号链接. 3)/usr/bin/awk 是到 gawk 的符号链接. 4)/usr/bin/yacc 是到 bison 的符号链接或者一个执行 bison 的小脚本. c. 构建临时系统中,确保解压软件包时你使用的是 lfs 用户. d. 除非特别说明,删除解压出来的目录和所有

朴灵:基于MongoDB与NodeJS构建物联网系统

目标 基于阿里云服务快速构建物联网系统 准备工作 ECS MongoDB EMR Alinode 中间件代码 注意事项:ECS,MongoDB 可以选择按量计费的服务. 实例申请 Step1 拿到阿里云账号,登陆 Step2 控制台新建实例 新建实例: https://mongodb.console.aliyun.com/#/buy/mongodb?chargeType=PostPaid 新建实例时,请选择『按量付费』类型,并需要选择合适的CPU 内存规格,磁盘空间.并设置 root 密码(后续

Meteor 添加账户系统

Meteor 添加账户系统 我们给meteor添加一个账户系统 导入包 meteor add ian:accounts-ui-bootstrap-3 meteor add accounts-password 在界面添加登陆按钮 {{> loginButtons}} result

3.运维平台之账户系统

历程: 0. 账户系统(accounts)分为用户认证和权限分配两部分. 1. 刚开始运维平台业务比较单一,只提供给运维组人员使用即可,根本没有用户账号的概念. 2. django系统本身有用户.用户组.权限,需要进行一些扩展开发,以满足需求. 在16年独立出用户认证注册模块,形成accounts项目,简单API认证. 3. 在17年时,前端设计获得很大突破,基于Django实现RBAC权限管理. 需求: 1.需要用户认证和角色权限管理,实现资源控制访问. 2.基于用户-角色-权限数据链,在多模

支付系统、账户系统有关模型

简介:账户体系是支付系统的基础,一个支付系统必须要有账户体系.因此账户体系的设计显得尤为重要. 支付账户和登陆账号: 两个概念:支付账户和登陆账号,这是属于两个不同业务的领域. 支付账户:用户在支付系统中用于交易的所有者权益的凭证. 登陆账号:用户用于登录系统的凭证和个人信息. 两者的联系:一个用户可能会有多个登录账号,一个登录账号又可能会有多个支付账户.比如,用户可以有零钱账户,储值卡账户等各种账户.一般来说,一个支付账户不可能在多个登录账号中公用. 账户的设计需求: 在支付系统中,对于账户的

互联网账户系统如何设计(上篇)?

在很多互联网公司业务发展的早期,业务模式比较单一的情况下,涉及用户账户资金交易相关的逻辑也比较简单,但是随着公司业务模式的不断创新及类型的多元化发展,会渐渐发现现有系统账户逻辑越来越雍肿,不仅难以支持新业务的扩张,对现有业务的支持也适配困难,最终导致新业务系统不得不重新搭建自己的业务账户逻辑,造成重复建设不说,也往往给后续的财务资金核算造成混乱. 以某互联网A租车公司的业务发展路径为例? 阶段A A公司在早期开展租车业务时根据用户使用场景规定用户必须在缴纳押金以后才可以租车,并且支持用户进行余额