转载

openfire2种认证方式

(一)控制台后台登陆过程
直接传递用户名和密码再后台authprovide的实现类里面做验证 方法是:public void authenticate(String username, String password)
(二)客户端与服务器认证过程
通过sasl进行验证,好处,不需要传递密码,挑战值只使用一次,根据某种规则生成response 流程如下
  1. 客户端发送sasl验证请求给服务端
  2. 服务端接口接收请求,并发送挑战信息给客户端
  3. 客户端发送响应给服务端
  4. 服务端验证用户合法性
saslStatus = SASLAuthentication.handle(session, doc);
原理:就是更具发出的挑战信息,通过协议约定生成一致性的response,服务端根据用户名去数据库获取用户密码后,也生成一串字符,最后匹配是否一致
正文到此结束
Loading...