Openfire源码分析.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Openfire源码分析

协议支持Openfire对由RFC 3920和RFC 3921定义的XMPP协议提供完整支持.另外,Openfire也支持许多由XEP定义的XMPP扩展.SSL相关说明从Openfire 3.2起,在管理端可以执行证书管理.如果你还是需要使用JDK1.5提供的工具管理证书的话,有一点重要的注意事项,一旦安装完成,Openfire将建立由Openfire域分配自我签名证书.大部分用户不应该向CA购买证书或者替换Openfire生成的证书.Openfire的SSL支持是建立在标准的Java SSL上.证书的管理工作由类SSLConfig负责,在NIOConnection. startTLS有关于证书处理的代码.Channel 提供一种队列式处理工作单元的方式,每个工作单元都密封在ChannelMessage中,由ChannelHandler负责处理ChannelMessageChannelHandler 登录使用plain验证方式时,客户端向服务器发送:auth mechanism=PLAIN xmlns=urn:ietf:params:xml:ns:xmpp-saslYQBhAGE=/auth对YQBhAGE= Base64解码后得到a\0a\0a 以\0作为分隔符第一个a表示username,第二个a表示委托人,第三个a表示密码Packet路由过程对于每一个Packet对应的Router(IQRouter,MessageRouter,PresentRouter)都会对它调用两次InterceptorManager. invokeInterceptors投递前调用一次,投递后调用一次注册服务器收注册请求时,先与客户端进行TLS协商,然后才进行数据传送.注册请求封装为一个IQ包.由IQRegisterHandler处理,IQRegisterHandler实际上是委托IQ处理.IQRegisterHandler.handleIQ(IQ)IQ.createResultIQ(IQ)最终在UserProvider完成保存到数据库的工作.UserProvider的实现类由provider.user.className指定.为实现统一认证,有必要在用户注册时向统一认证数据库插入用户数据.扩展UserProvider以实现上述功能.系统属性说明默认的系统属性register.password 指示用户是否允许用户修改密码,默认为trueuser.usePlainPassword 指示是否使用明文密码provider.admin.className 指定AdminProvider,默认值org.jivesoftware.openfire.admin.DefaultAdminProvider 当在Admin Console登录时将调用AdminProvider.getAdmins()admin.authorizedJIDs 指定管理员的JID,逗号隔开.调用DefaultAdminProvider.getAdmins()时将读取该属性添加的系统属性:ys.sse.sso.driverClassName CAS数据库驱动程序ys.sse.sso.databaseURL CAS数据库URLys.sse.sso.username CAS数据库用户名ys.sse.sso.password CAS数据库密码ys.sse.sso.deleteSQL 删除用户的SQLys.sse.sso.existSQL 检查用户是否存在的SQLys.sse.sso.insertSQL 插入用户的SQLys.sse.sso.updateSQL 更新密码的SQLys.sse.sso.loginPageURL CAS登录URLys.sse.sso.serviceURL 请求的service URL关于AuthProvider的说明(修改密码)通过调用AuthFactory.getAuthProvider()获得系统使用的AuthProvider在用户修改密码时IQRegisterHcess方法调用User.setPassword然后User调用AuthProvider.setPassword(String,String)JIDAn XMPP address (JID). A JID is made up of a node (generally a username), a domain, and a resource. The node and resource are optional; domain is required. In simple ABNF form: jid = [ node @ ] domain [ / resource ] Some sample JID

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档