陌生人禁止通信,企业好友间、群成员间可以通信的问题

69443245 2天前 40

您好!我单位关于IM通信有如下需求:

  1. 陌生人之间禁止通信;
  2. 同一企业成员之间、属于同一群组的成员,可以互相通信(在通信时最好能带着信息来源,比如企业ID、群ID,以便于客户端展示)

通过查阅野火文档,并和客服沟通后,已知专业版中,1是可以通过配置完成的;同时可以配置指定的用户可以互通,但是没有像2中描述的限制。

请问该该功能应该如何在现有功能上实现,或是您这边是否可以添加此功能?

谢谢!

最新回复 (3)
  • HeavyRain 2天前
    引用 2
    1,社区版和专业版都支持禁止陌生人聊天。但这个是一刀切的功能,如果打开所有非好友都无法聊天。
    2,野火没有这个功能需要二开开发。

    二开最简单的是关掉禁止陌生人聊天,IM允许所有人聊天。然后客户端每次发起聊天之前先去业务服务确实是否可以聊天。有个问题是IM服务实际上还是可以聊天的,如果有人可能破解软件,是可能能够绕过限制的,但这对于普通企业来说就足够了。如果要想从服务器端也限制,那就需要用专业版IM服务,然后打开禁止陌生人聊天,专业版IM服务还有个配置可以设置redis,把白名单可以放到redis中给IM服务检查用的,当用户请求聊天时,检查如果不是好友再检查是否时同单位或者同群组,如果允许聊天,那么在redis的白名单中添加一条记录
  • 69443245 7小时前
    引用 3
    “专业版IM服务还有个配置可以设置redis,把白名单可以放到redis中给IM服务检查用的”,请问关于此配置,有没有详细文档说明可以参考?
    另外,关于专业版im,是否有完整的配置说明可以参考?
    谢谢!
  • HeavyRain 6小时前
    引用 4

    没有文档,只有配置文件中的注释,注释和配置如下:

    #*********************************************************************
    # redis relationship
    # 此共为特殊客户定制,普通客户不要使用redis用户关系。仅当不用野火IM的用户关系托管,又需要根据好友关系对发送权限进行控制时使用。普通客户不要使用这段配置。
    # 当使用redis用户关系时,发送消息或者朋友圈会根据redis里的用户关系来进行权限判断。
    # 数据格式是set,key是prefix+userId,比如 wfc_fr_userId1,value是该用户的关系Set,包括好友和黑名单。
    # 白名单是key/value数据,value是允许用户响应的时间,如果不限制则为0。白名单可以用于机器人,系统通知,公司领导等
    #*********************************************************************
    #是否开启redis用户关系。请不要开启,这个是给一个特殊客户定制,普通用户打开这个可能会导致无法发送消息,千万不要打开!!!!
    relationship.use_redis false
    #好友关系的前缀,key为prefix+userId,value是该用户的所有好友的用户ID的Set
    relationship.friend_prefix  wfc_fr_
    #黑名单的前缀,key为prefix+userId,value是该用户的所有黑名单的用户ID的Set
    relationship.blacklist_prefix wfc_bl_
    #白名单的前缀,key为prefix+userId,value为允许普通用户在多长时间内回复。
    #Key包含的用户可以不受好友和黑名单的限制给普通用户发消息,普通用户可以在value所在的时间内回复消息。
    #时间单位是秒,0为任何时间都可以回复。这个数据是k/v数据,不是key/set数据。
    relationship.whitelist_prefix wfc_wl_

    你们这种情况就需要设置redis里的好友关系

返回