登录注册模块,学校大作业和公司商用,真的是两个物种

09月27日 收藏 0 评论 6 java开发

登录注册模块,学校大作业和公司商用,真的是两个物种

登录注册对于大部分网站和APP来说,都是最基础也是最重要的模块之一。
一个商用的用户登录注册模块需要考虑大量的细节问题,用户信息的安全性、业务逻辑、统一登录、用户操作等等。
而大学生的大作业或者毕设项目,登录模块十多年来一直是简单的用户名、密码,而且明文记录。
本文从企业级的用户登录注册模块的产品逻辑进行分析,希望能给同学们一些帮助。
温馨提示:本文产品文档和流程图、UI高保真、前端页面和完整代码都可以下载,链接见文章最后

01-产品分析:

我们截取了京东的登录页面

从图中看,页面包括多账户的密码登录、短信验证码登录、第三方登录和手机注册等模块。
大家说这个不是跟我做的一样吗?
不要着急,我们从产品经理的角度,进一步理清每一项的细节。

- 02 -手机注册

手机号现在是大部分互联网公司的惟一账户凭证,通过输入手机号获取验证码,来证明你是惟一的用户。

但是有些细节需要考虑:

(1)自己没注册过,但是提示手机号已存在
有的用户换了新手机号,注册时却发现手机号已经被使用了。
如果正好系统提供了手机验证码登录,一般情况下可以直接登录别人的帐号。
对金融类或者电商类产品来说,这个场景很容易造成老用户的损失。
往往需要记录常用的登录地点,配合支付密码来两次验证

(2)发短信,就意味着花钱。
虽然一条短信只有5分钱,也受不了少量人用脚本频繁刷。
所以发短信本身需要一定的规则。
比如,发两条短信以上,需要显示图形验证码或者拖动块,避免机器人频繁调用短信接口。
同一个手机号,发送5条以上,当前用户今天就不允许再给这个手机号发短信了。
同一个用户发送5条以上,每隔一个小时允许发一条。

(3)手机验证通过后,补充用户名
以手机号作为惟一凭证后,用户名就有了两种方案。
一种是如京东一样,用户名也是惟一凭证,可以直接登录,另一种就是用户名可以重复。

(4)用户名不能包含黄毒赌等非法字符,需要做过滤

- 03-第三方登录:

微信登录是最常用的第三方登录。登录的模式就是把微信系统的惟一主键openId,与用户系统的userId进行绑定。

存在以下问题:

(1)微信用户名不符合系统设计
微信用户名可以存在表情字符,这种特殊字符有时不符合登录系统的设计,需要去除或者做兼容。
另外微信用户名可以重名,在用户名作为主键的系统里,需要重新设计用户名或者为第三方登录增加额外随机用户名。
还有用户名的长度也在考虑范围内。

(2)首次登录时不存在userId
实际上就是用户注册流程,先创建一个系统用户,再把openId与之绑定。
这个系统用户因为没有密码,所以不允许账户密码登录,但是可以在用户中心设置密码。

(3)第三方登录与原账号的重复
用户原来用账号密码注册了一个账号,又用微信登录生成一个新账号。两个账户都有使用数据。
产品又需要绑定手机号,这时发现两个帐户是同一个“人”的。
合并帐户是最佳的解决方案,但是一定要处理好业务细节。

- 04-短信验证码登录:

短信验证码登录也可以认为是一种特殊的第三方登录。
除了上面提到的发短信的规则外,还存在手机号不存在的场景,这个时候也可以认为是手机号注册。
先生成一个小号,用户名可以直接用手机号,或者使用随机数。
密码也是不存在的。

多账户登录:
京东可以使用用户名或手机号进行登录。
存在一个小细节,如果用户输入了11位的用户名,应该认为是用户名登录还是手机号登录?
有两种产品思路,一种是先按用户名查找,如果没有用户记录,再用手机号查一遍。
另外一种是直接在注册时就堵住这种可能,不允许以1开头的11位数字的用户名注册。

C 6条回复 评论
三缄

有没有蜕变测试或者ai测试的教程

发表于 2023-12-27 23:00:00
0 0
阿然

测试真的是坑,啥都要会,一个项目要覆盖到方方面面,先是功能,再是自动化,每日构建,再是性能,再是安全,哎,小公司要你会的全,大厂要你的会的精还全,哎,真是太难了

发表于 2022-08-07 21:00:00
0 0
一只小鹿哈

专科的前端有前途吗?

发表于 2021-12-06 12:00:00
0 0
箱湘香樟树

准备三刷这节课!

发表于 2021-10-02 21:00:00
0 0
墨石

不错,值得学习参考

发表于 2021-09-12 19:20:00
0 0
耿蕊

资源还可以

发表于 2021-09-08 22:10:00
0 0