C#获取openfire的用户,包括增、删、改等

目前比较简单的做法就是通过openfire的插件User Service,我们用C#http请求来获取用户列表,返回的是一个xml文件。

插件地址:http://www.igniterealtime.org/projects/openfire/plugins.jsp

安装插件有两种方式:

1.直接到官网下载userservice.jar文件,然后通过管理控制平台上传插件。

2.直接在管理控制平台安装此插件,在插件选项卡里有个“有效的插件”菜单,里边有很多插件。


一:首先需要安装openfire的服务器,包括配置好数据库测试是否可以运行服务器,以win7为例,到开始菜单找到“Openfire Server”点击运行,然后点击“Star”启动服务器,再点击“Laumch Admin”会跳转到管理控制平台,输入管理员密码登录。如下图:


二:在管理控制平台找到选项卡“插件”,里边有我们需要安装的一个User Service插件,如果安装过了会显示已经安装的哪些插件,没有安装,需要点击左侧菜单“有效的插件”,在列表里找到此插件进行安装,可能有点慢,稍等即可。如果在有效的插件列表没有发现很多的插件,那么你需要重新安装openfire服务器或者升级最新版本。



三:在选项卡“服务器”找到“服务器设置”下有个菜单“User Service”,说明安装插件成功,但是还是需要进行设置才能通过端口进行访问,不然无法访问或者报错401未授权等。设置:Enabled - User service requests will be processed. 启用、勾选HTTP basic auth - User service REST authentication with Openfire admin account. 如果选择Secret key auth,那C#写着太麻烦,通过访问接口需要传Secret key的值,否则就是报错401。

还可以在系统属性里添加进行设置接口是否启用,需要设置2项值如下图:



下面就是开始通过C#代码进行访问:

string url = "http://127.0.0.1:9090/plugins/userService/users";
            WebRequest req = WebRequest.Create(url);
            string username = "admin";
            string password = "admin";
            string usernamePassword = username + ":" + password;
            CredentialCache mycache = new CredentialCache();
            mycache.Add(new Uri(url), "Basic", new NetworkCredential(username, password));
            req.Credentials = mycache;
            req.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword)));
            WebResponse result = null;

            try
            {
                result = req.GetResponse();
                Stream ReceiveStream = result.GetResponseStream();

                //read the stream into a string
                StreamReader sr = new StreamReader(ReceiveStream);
                string resultstring = sr.ReadToEnd();

            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
            finally
            {
                if (result != null)
                {
                    result.Close();
                }
            }

最后会返回一个xml的文件,里边是所有用户的信息。

至于新增、删除的接口就不做案例里,你可以通过管理控制平台查找demo,里边有介绍如何访问接口,查看地址:http://127.0.0.1:9090/plugin-admin.jsp?plugin=userservice&showReadme=true&decorator=none

如下图点击图标就可以查看此插件的demo:




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值