OpenFire通过User Service管理用户
Posted 代码之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenFire通过User Service管理用户相关的知识,希望对你有一定的参考价值。
安装OpenFire服务器略去
1.安装User Service插件:
在管理控制平台找到选项卡“插件”,里边有我们需要安装的一个User Service插件,如果安装过了会显示已经安装的哪些插件,没有安装,需要点击左侧菜单“有效的插件”,在列表里找到此插件进行安装,可能有点慢,稍等即可。如果在有效的插件列表没有发现很多的插件,那么你需要重新安装openfire服务器或者升级最新版本。
2:
在选项卡“服务器”找到“服务器设置”下有个菜单“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项值如下图:
3:然后就可以通过C#代码进行访问接口了
string url = "http://192.168.3.66:9090/plugins/userService/users"; WebRequest req = WebRequest.Create(url); string username = "admin"; string password = "***"; 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://192.168.3.66:9090/plugin-admin.jsp?plugin=userservice&showReadme=true&decorator=none
如下图点击图标就可以查看此插件的demo:
以上是关于OpenFire通过User Service管理用户的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 Smack API 使用 openfire 服务器发送/接收消息