今天聊下B端系统的登录功能如何设计。
01设计原则
登录功能,一个系统最初要设计的功能了,登录功能需要区分对外用户和对内用户,一般对外的需要有注册功能,对内的基本上都是管理员分配的。同时登录功能需要搭配【用户管理】一起,登录的信息校验都是来源于【用户管理】。
登录功能的设计原则最重要的就是安全性,灵活性次之。不管是产品设计上的,用户名、密码、验证码等,还是技术设计上的密码加密、身份认证、服务架构、token、cookie等,安全最该考虑。
同时还要考虑集成系统的情况,即有多个系统使用一个登录功能,进入后需要有一个系统导航,点击每个子系统又可以进入。
02整体方案
新建【用户管理】,维护用户的基本信息,本身需有添加功能,登录功能的用户数据就来源于此。
登录功能这边需要有
用户名、密码和验证码,登录后数据与【用户管理】校验,成功即可进入系统,有多个系统使用一个登录功能,进入后到系统导航,点击每个子系统又可以进入,登录可保持24h有效,子系统4h有效。
注册功能填写的数据,需要同步到【用户管理】,包括重置密码这些也需要更改【用户管理】的信息。
03原型图
【用户管理】比较简单,这里只放个注册和登录的界面。
04用户管理子段取值逻辑
【用户管理】的新增、编辑这些按钮,不再细聊,前面聊过很多,简单说下字段需要要哪些,及取值来源,取值来源就需要注意两个,一是注册完成需要将数据保存到【用户管理】,二是重置密码需要更改【用户管理】的密码,当然,如果有个人信息更改的功能,也需要对应更改数据。
05登录功能详情设计
这是这个设计里面的重中之重了,尤其是涉及到一些校验的,一定要清晰。
06子系统登录说明
我们按一个统一登录的设计,进入主体界面后,需要进入每个子系统,点击即可,这里也需要每个子系统授权登录,采取同一套登录权限。
如果是一开始就按这种形式开发的框架,就很容易。
如果多个子系统先开发完成,后续再做统一登录功能,这里就需要将所有子系统的用户信息统一,即每个子系统其实也保留一套用户登录信息,只是这些都跟统一登录的数据一样,这样就可以进入每个子系统时按这个用户去访问这个子系统的用户权限信息,完成登录。