`

JXTA中通过身份认证来加入“群”(一)

阅读更多

之前讲的加入“群”,即对等组。都是不用认证的,只要发现了该“群”,就可以加入“群”。但是这明显是不好的,不管管理上,还是从安全,或者内容上。所以我们要给“群”加上锁,只能让有钥匙的用户进入。

日常方面我们都是使用密码来使用锁匙,在本文我也正是要讲的是使用密码来给“群”上锁,这样,以后有谁想加入该“群”,必须要有该“群”的的钥匙“密码”才行。

在这里本来打算利用一次全写完,可是考虑到,如果把所有内容一次给出,看来麻烦,而且对于理解也不太好。所以会分次给出。在这篇我只想讲讲如何通过身份认证加入“群”的过程。给出部分代码,代码也加上了必要的注释,希望大家可以看明白过程就行。

代码的实现过程,将后续慢慢发出。

 在这里只要注意构造方法里程序运行的顺序,就可以看出该过程。

1、启动平台,这是JXTA必要而且是首先运行的。

2、利用netgroup创建一个特定的带有用户名和密码的对等组,也却是我们要创建的目标对等组。

3、通过发现该对等组,利用我们已经知道的用户名和密码,加入对等组。

下面秀出代码:

public class PrivateGroup {

 private PeerGroup netpg = null,
 spg = null,
 dspg=null;
 private final static PeerGroupID satellaPID = IDFactory.newPeerGroupID();
 private NetworkConfigurator config = null;
 public PrivateGroup(){
  //启动JXTA平台
  netpg = startJxta();
  if(null!=netpg){
   System.out.println("JXTA平台启动......");
  }else{
   System.err.println("启动JXTA平台失败:网络对等组为空");
   System.exit(-1);//退出系统
  }
  //定义参数:用户,密码,对等组名称和对等组ID
  String login = "PrivatePeerGroups";
  String passwd = "RULE";
  String groupName = "SatellaGroup";
  //创建带密码身份认证的对等组
  spg = createPeerGroup(netpg,groupName,login,passwd);
  //加入到目标对等组中,即名称为"SatellaGroup"的对等组
  if(null != spg){
   System.out.println("对等组创建中......");
   dspg = discoveryPeerGroup(netpg,satellaPID);//创建对等成功后,然后搜索到该对等组
   if(null!=dspg){
    System.out.println("对等组搜索中......");
    joinPeerGroup(dspg,login,passwd);//加入目标对等组
   }
  }
  System.out.println("加入目标对等组成功......");

 }
 /**
  * 启动平台有多种,在这里我用了我常用的方式,通过配置和getInterface()来得到netpg
  * @return
  */
 private PeerGroup startJxta() {
  PeerGroup group = null;
  try {
   config = new NetworkConfigurator();
   config.setName("LoginName");
   config.setPrincipal("peer");
   config.setPassword("password");
   config.save();
   group = new NetPeerGroupFactory().getInterface();
  } catch (Exception e) {
   System.out.println("启动平台失败");
   e.printStackTrace();
   System.exit(-1);//退出系统
  }
  return group;
 }
 //加入“群”
 private void joinPeerGroup(PeerGroup dspg2, String login, String passwd) {
 }
 //搜索到该“群”
 private PeerGroup discoveryPeerGroup(PeerGroup netpg2,
   PeerGroupID satellaPID2) {
  return null;
 }
 //创建带有用户名和密码的“群”
 private PeerGroup createPeerGroup(PeerGroup netpg2, String groupName,
   String login, String passwd) {
  return null;
 }
}
上面空的方法,会在以后发出。还没学习到这里的同学,也可以自己去通过学习,自己补上。 这样应该你应该发出来,让我学习一下啦。

0
1
分享到:
评论

相关推荐

    jxta messager

    2. **身份管理(Identity Management)**: 每个JXTA节点都有一个唯一的身份,用于认证和安全通信。在JXTA Messenger中,这确保了用户之间的聊天消息安全传输。 3. **消息传递(Message Passing)**: JXTA Messenger...

    一个基于P2P框架的Jxta开发的聊天器

    4. **身份认证与安全**:为了确保聊天内容的安全性,JXTA提供了加密和身份验证机制。聊天器可能利用这些功能来保护用户隐私,防止未经授权的访问。 5. **容错与网络动态性**:P2P网络中的节点可能会随时加入或离开...

    JXTA--P2pSocket.rar

    1. **身份认证与安全性:** JXTA提供了基于证书的身份认证和加密机制,确保通信的安全性和完整性。 2. **网络路由:** P2pSocket能够处理复杂的网络拓扑,包括多跳路由,使得节点间的通信更为灵活。 3. **错误处理:...

    jxta.rar_jxta_jxta cms

    通过使用"jxta.jar",开发者可以轻松地在应用程序中集成P2P功能,如创建和加入网络、发布和查找资源、建立通信管道等。 其次,"cms.jar"可能指的是CMS(Cryptographic Message Syntax),这是一个用于加密和签名...

    JXTA技术手册源代码.

    - **NetPeer**:代表网络中的单个节点,处理网络连接和身份认证。 - **PipeService**:提供创建和管理管道的接口,用于设备间的通信。 - **AdvService**:用于发布、查询和接收广告,实现资源的发现和共享。 - *...

    JXTA-Java-P2P网络编程技术书后源码

    **Java P2P网络编程与JXTA技术详解** ...总之,"JXTA-Java-P2P网络编程技术书后源码"是一个宝贵的资源,它帮助开发者通过实践来学习和理解P2P网络编程和JXTA的精髓,从而能够设计和实现自己的P2P解决方案。

    HelloJxta.rar_jxta_p2p jxta

    4. **服务接口(Service)**:JXTA支持多种服务,如身份验证、资源搜索、消息传递等。开发者可以通过定义服务接口来扩展JXTA的功能。 5. **协议栈**:JXTA协议栈包括了网络层、传输层、会话层、应用层等多个层次,...

    JXTA Java P2P 网络编程技术

    5. **身份管理(Identity Management)**:JXTA使用数字证书来验证节点的身份,确保网络通信的安全性和可靠性。 6. **协议栈(Protocol Stack)**:JXTA提供了基于TCP/IP的底层通信协议栈,但同时也支持其他传输...

    基于jxta的p2p即时通信系统设计

    2. **JXTA协议**:JXTA提供了P2P网络的基础框架,包括对等体的发现、连接、身份验证和安全通信等功能。通过JXTA,开发者可以轻松实现P2P应用的各个组件,如数据交换、服务发布和查找。 3. **对等组与管道**:在JXTA...

    jxta-java p2p网络编程技术

    5. **服务(Services)**:JXTA提供了一系列预定义的服务,如身份验证、消息传递、发现服务等,开发者也可以自定义服务以满足特定需求。 6. **协议栈(Protocol Stack)**:JXTA的协议栈包括了底层的传输层、中间的...

    JXTA开发包2

    4. **PEER Group**:PEER组是JXTA中的一组相关节点,它们共享一套协议栈配置和一组服务。加入PEER组是节点参与网络活动的基础。 5. **Advertisements**:这是JXTA中用于描述资源和服务的数据结构,广告可以通过网络...

    JXTA网络编程环境的实现

    - **认证**:节点在加入组群之前需要通过身份验证,确保只有合法的节点才能参与通信。 - **授权**:节点之间可以设置权限控制,指定哪些节点可以访问特定资源或执行特定操作。 - **完整性保护**:使用数字签名等技术...

    jxta-shell 2.4.1

    JXTA协议栈包含一系列基于XML的协议,用于实现P2P网络中的身份验证、服务发现、消息传递等功能。主要组件包括: - **广告(Advertisements)**:JXTA使用XML格式的广告来描述网络中的资源和服务,便于搜索和发现。 ...

    p2p平台jxta学习资料

    JXTA使用XML来交换信息,支持多种服务,如身份验证、广告发布、流媒体传输等。 2. **P2P网络模型**:了解P2P网络的基本结构和工作原理,包括对等节点的发现、连接建立、资源搜索和数据传输。在JXTA中,节点通过发布...

    jxta.pdf一书的源代码

    6. **Chapter 03**:可能是关于JXTA网络中的身份管理和认证机制,讲解如何创建和管理对等体的身份,以及如何验证通信方的身份。 7. **Chapter 10**:可能涵盖了P2P服务的发布和订阅,以及如何在JXTA环境中实现服务...

    基于JXTA的p2p文件共享

    7. **容错和可用性**: P2P网络中的节点可能会随时加入或离开,JXTA通过复制和分散数据来提高系统的可靠性和可用性。 在"录像截图"中,可能包含了JXTA实现P2P文件共享的演示或示例,帮助用户直观了解其工作流程。"可...

    JXTA-Java P2P网络编程技术

    **JXTA身份服务** 在P2P网络中,确保安全和信任至关重要。JXTA的身份服务(Identity Service)提供了身份管理和验证功能,通过证书和数字签名等机制,确保节点间交互的安全性和可靠性。 **JXTA编程实践** 使用...

    JXTA——Java P2P网络编程技术

    5. **JXTA网络的加入与离开**:描述了节点如何加入和离开P2P网络,以及这个过程中的身份验证和安全考量。 **第四章:JXTA服务与管道** 这一章的重点在于JXTA的服务模型和通信机制: 1. **服务发现与提供**:讨论了...

    用JXTA实现的P2P画板程序

    4. **安全机制**:JXTA提供了加密和身份验证机制,确保数据的安全传输和防止恶意攻击。 在P2P画板程序中,JXTA的这些特性被充分利用。例如,通过发现服务,新加入的客户端可以快速找到其他在线用户;通过发布/订阅...

Global site tag (gtag.js) - Google Analytics