我是靠谱客的博主 明亮心情,最近开发中收集的这篇文章主要介绍Tigase注册流程总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、流程图解
这里写图片描述
二、相关数据表
tig_user–用户表
这里写图片描述

Uid             主键,自增
User_id         用户名(格式:用户注册账号@服务器域名)
Sha1_user_id        经过MD5加密后密码
User_pw         明文密码
Acc_create_time 注册时间(默认表数据插入时间)
Last_login      用户最近登录时间(默认0000-00-00 00:00:00)
Last_logout     用户最近退出登录时间(默认0000-00-00 00:00:00)
Online_status       用户上线次数(默认0)
Failed_logins       该用户账号登录失败次数(默认0)
Account_status  账号状态(1.正常 2.禁用(首次注册无密码,该账号就被置为禁用态))                 (默认1

tig_nodes–节点信息表
这里写图片描述

Nid             主键,自增,节点id
Parent_nid      父节点id
Uid             用户id,是tig_user表中uid的外键
Node            节点类型,可以自定义节点名称

Tig_pairs–用户节点信息表
这里写图片描述

Pid             主键,自增
Nid             节点id,是tig_nodes表中nid的外键
Uid             用户id,是tig_user表中uid的外键
Pkey                键       
Pval                值,以xml格式存储
tig_pairs以(key,value)的形式存储节点的具体数据,例如上表中,
第45行,对应tig_nodes中的root节点,存储该用户的好友列表
第6行,对应tig_nodes中的last-start节点,记录该用户上次登录时间

三、源代码分析
A.注册账号检测
接口:
这里写图片描述
实现类:
这里写图片描述
注册方法:
这里写图片描述
注册参数说明:
BareJID对象:
这里写图片描述

BareJID对象内封装了4个参数:
    domain:服务器域名
    localpart:账号名
    to_string:账号名@服务器域名
    hashcode:根据hash算法生成的int类型的一串数字
String  password:
用户注册密码(明文)

下一步:
调用存储过程:
这里写图片描述
1.调用TigAddUserPlanPw存储过程
这里写图片描述
经过TigAddUserPlanPw存储过程处理(when:哪些字段经过MD5加密,then:返还不同的结果),返回一个add_user字符串,该字符串包含user_id和user_pw

2.调用TigGetDBProperty存储过程
这里写图片描述
TigAddUserPlanPw存储过程中,调用了TigGetDBProperty存储过程,作用是查询出用户,对应节点下存储的信息(xml格式),再回来执行TigAddUserPlanPw存储过程。

验证失败:(账号已存在……),捕捉异常
这里写图片描述
B.验证通过,进入下一步,调用AuthRepository接口:
这里写图片描述
AuthRepository接口实现类AuthRepositoryMDImpl:
这里写图片描述
进入到addUser方法:
这里写图片描述
该方法是去查询该服务器中,是否有该用户的信息(单服务器忽略)

C.进入下一步:授权注册
这里写图片描述

最后

以上就是明亮心情为你收集整理的Tigase注册流程总结的全部内容,希望文章能够帮你解决Tigase注册流程总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部