ejabberd 是对xmpp协议的完全实现,那么单纯的ejabberd是不提供该功能限制的,但是从我们的xmpp协议则可以完全的解决这个问题,我们通过jid对它进行限制,下面可以看一下jid的解释:

完整JID

完整的Jid包括 Username@Domain/resource

Node/Username

用户名/节点 用户的基本标识

Domain

登陆的XMPP服务器域名

Resource

重点就是这里!
资源/来源,用于区别客户端来源,xmpp协议设计为可多客户端同时登陆,resource就是用于区分同一用户不同端登陆

除去resource部分,包含Username@Domain

当我们调用Client端的登陆jid的格式是 比如 wanglei@localhost/wanglei_macbook

另外如果我在windows下用我同样的账号jid是这样
wanglei@localhost/wanglei_windows

如果我们从ejabberd端将resource修改成一致的或者从client端调用登陆的时候统一resource 则macbook登陆后windows再登陆就会把macbook的登陆用户顶下来掉线,达到我们的功能实现。

即当Username 和 resource 相同的时候,第二次登录的设备会把第一次登录的设备挤掉。

还有一个关键点:

在ejabberd.yml 配置文件中,max_user_sessions  10

含有 max_user_sessions 这个参数,其含义为:允许单个用户的同步会话的最大数目. ejabberd默认设置的是10 。

有相关的max_user_sessions设置每个用户最多登录的session数目,建议设置小于等于2,防止重复登录。

转载于:https://www.cnblogs.com/unqiang/p/6073260.html

关于ejabberd限制单点登录相关推荐

  1. [转]单点登录原理与简单实现

    一.单系统登录机制 1.http无状态协议 web应用采用browser/server架构,http作为通信协议.http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关 ...

  2. 在ASP.NET 中实现单点登录

    出自:[孟宪会之精彩世界] 发布日期:2005年1月27日 8点48分0秒 [有删改] 由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录.在ASP.NE ...

  3. 单点登录与权限管理本质:session和cookie介绍

    本篇开始写「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,这部分主要介绍相关的知识概念.抽象的处理过程.常见的实现框架.通过这部分的介绍,能够对单点登录与权限管理有整体上的了解,对其相关 ...

  4. 【C#】ASP.NET网页中添加单点登录功能

    背景 首先,要说明的是,原先需求定义的是,同一个账号只能同时有一个人来登录,如果另外一个登录的话,前一个登陆者就自动被踢掉.本来原先要做成存储到服务器的数据库中,但是后来如果是非正常退出的话 下次就没 ...

  5. 配置Exchange OWA和Sharepoint网站单点登录

    配置Exchange OWA和Sharepoint网站单点登录 如果我们在组织中已经部署完成了Lync.Exchange以及Sharepoint,那么我们会发现这三套系统在通过域账户登录计算机时,如果 ...

  6. Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

    上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的 ...

  7. SSO单点登录基于CAS架构封装 Memcached 实例

    2019独角兽企业重金招聘Python工程师标准>>> SSO认证中心是CAS整个应用架构的一个极其重要的关键点,必须满足如下两点要求: 1.高可用,不允许程序发生故障.如果认证中心 ...

  8. 使用 CAS 在 Tomcat 中实现单点登录

    CAS 介绍 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目.CAS 具有以下特 ...

  9. SharePoint 2010 单点登录

    SharePoint2010单点登录 1.进入管理中心>应用程序管理 2.找到  Secure Store Service 应用程序代理 3.然后就是新建了 5.输入网站集管理员 6.这个时候S ...

最新文章

  1. 八大深度学习最佳实践
  2. 牛客网:为什么不能将实数作为 HashMap 的 key?
  3. 简单介绍C语言使用四种方法初始化结构体
  4. HDOJ2203 亲和数
  5. python 为什么用%格式化_Python中应该使用%还是format来格式化字符串?
  6. DOM操作之CRUD操作
  7. 一次利用位图索引进行SQL优化的案例
  8. ABAP string函数一览
  9. 1.2 数列和收敛数列
  10. 怎么给服务器部署php探针,phpStudy学习之php探针
  11. qq空间登录参数详细分析及密码加密最新版
  12. m1也能用的视频无损放大软件:topaz video enhance ai mac版
  13. 这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的Spring.Net了吧...
  14. 微信小程序如何将数据存储到服务器,微信小程序关于数据存储的一些坑
  15. JAVA练习题库/JAVA面试题库
  16. 杰理之不带功放,隔直推耳机产品【篇】
  17. IT人系列一 王珅:程序员转型做旧书书商年交易额逾千万
  18. 写给Krpano小白们的最最最入门级教程(一)
  19. 【拜小白opencv】45-二维H-S直方图绘制----calcHist()函数、minMaxLoc()函数
  20. 学习 | 遗传力与田间试验设计

热门文章

  1. 补第一阶段冲刺站立会议1(应发表日期5月13日)
  2. hadoop-2.4.0完全分布式集群搭建
  3. 随机文件处理函数应用
  4. 4号meeting room的好处
  5. 身体里面有多少细胞呢?
  6. cauchy problem of 1st order PDE from Partial Differential Equations
  7. 领英上面的experience和project的区别
  8. 我妈妈的优点:做事情特别细致
  9. 强弩之末,势不能穿鲁缟
  10. LUA ipairs遍历的问题