首页 > 编程知识 正文

工作流数据库表设计,应用层协议讨论题

时间:2023-05-05 14:32:15 阅读:136739 作者:2809

国民的两个大流量入口,大家不说也想了。 分别是微信和QQ。 因此,它是连接到微信或QQ登录的此类型的第三方登录条目,以便于获取用户源。 今天登录微信、QQ、苹果。 谈第三方用户体系与我方系统用户体系对接的可行性方案。

0x01 )该用户表与第三方用户表为同一表,一般的系统具有自己的用户系统,具有管理员用户的注册、登录、注销、权限等。 例如,我们的用户系统的用户表t_user大致包括以下字段:

id :主键idusername :用户名age :用户年龄mobile :手机号码password :登录密码source_from :用户来源auth_flag :用户验证状态create 那么,现在就先对接,比如微信的微信。 这是最常见的第三方用户对接的。 在此方案中,我们的用户表与第三方用户表表里如一,因此需要在用户表t_user中添加一个标记,指示我们的用户与微信用户有唯一联系的字段。 通常使用微信的openid。 这样,就需要修改表并添加wx_openid字段

id :主键idusername :用户名age :用户年龄mobile :移动电话号码password :登录密码source_from :用户来源auth_flag :用户身份验证状态wx _ from

id :主键idusername :用户名age :用户年龄mobile :移动电话号码password :登录密码source_from :用户来源auth_flag :用户身份验证状态wx _ from 如果要对接的第三方太多,用户表会逐渐变得非常庞大。 在另一个方面,修改原始用户代码。

0x02 )我们的用户表一张表,第三方用户表一张表,由于第一种方案需要额外的第三方不断修改用户和原代码逻辑,可能给生产带来不确定因素。 所以,作为其他方案,我们的用户可以采取表1张,第三方用户可以采用表1张的方案。 例如,用户表t_user的设计大致如下:

id :主键idusername :用户名age :用户年龄mobile :手机号码password :登录密码source_from :用户来源auth_flag :用户验证状态create 微信的openid、QQ的openid或appleidtype :可以标识第三方的类型。 这里规定1 .表示微信,2 .表示QQ,3 .表示appplebind_flag,但是添加第三方用户对接时,不可避免地需要更改原有的代码逻辑

0x03 )我们的用户表1张表、第三方用户表多张表基于第二种方案,第三方用户表使用一个type字段表示不同的第三方用户体系,通过不断添加不同的枚举识别不同的第三方。 可以删除此字段,以便不同的第三方可以使用不同的表进行标识。 例如,用户表t_user的设计大致如下:

id :主键idusername :用户名age :用户年龄mobile :手机号码password :登录密码source_from :用户来源auth_flag :用户验证状态create dwx_openid:wechat的openidbind_flag :标识是否绑定,1绑定,取消绑定create_date :绑定时间QQ用户体系表t_qq_acount user _ id :与t _ user相对应的用户idqq_openid:QQ的openidbind_flag :标识是否绑定。 1绑定2create_date的解除绑定:用于绑定时间苹果用户体系的表t_apple_acount的设计大致如下: 标识与用户id:t _ user相对应的用户idappleid :苹果idbind_flag :是否绑定。 1绑定,2取消绑定2create

以上三个方案,谁最好,没有定论。 根据项目的要求,满足自身项目的需要,适合可用业务场景的方案是最优解。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。