日期:2014-05-18  浏览次数:21136 次

请教C#实现Openfire用户同步添加,删除,修改
昨天接到任务,研究Openfire即时通讯的,通过今天自己的研究,我想了两种方法,但是都遇到了瓶劲。
第一个是通过下载user service插件,然后调用。
  我现在下载了插件,服务器端我也开启了,IP也配置了,但是我通过URL向服务器端请求的时候,不行,不知道是不是我的方法有问题,或者是哪里还没有弄好。
  我现在的方法是用Response.Redirect或HttpWebRequest对象来调用URL,URL和参数我都加好了,如: http://127.0.0.1:9090/plugins/userservice?type=add&secret=lG06H4G2&username=han&password=han&name=han&email=han@hantang-gku76e1
  但是这样只能开启后台用户登陆的画面,并不能新增用户。我如果在现有的画面手动填写默认的用户名与密码(admin/admin),就会出来的就是一个XML错误“ <error>RequestNotAuthorised</error> ”。
所以第一种方法暂没有研究成功。

第二个方法是想通过SQL Server中的工具-->SQL Server Profiler来做数据库栏截来了解用户注册需要写入的数据库表,然后在现有的系统数据库中读到数据后直接写入Openfire数据库对应的表里面,但是这样现在还是有新的问题,就是用户密码加密/验证的问题,不知道Openfire的加密规则是怎么实现的。
我有做过尝试,比如我发现Openfire会在数据库ofProperty表中创建一个passwordKey,我也自己写了一个MD5加密/解密的方法,我对现在的密码"admin"加密后,发现得到的加密字串和Openfire加密后的不一样。所以,第二种方法也没有成功。

小弟在此请教大家,希望能够得到帮助,一起交流。
我的邮件是:xvssef2000ster@126.com
QQ:80722049

------解决方案--------------------
水平有限 爱莫能助