之前講的加入“群”,即對等組。都是不用認證的,隻要發現了該“群”,就可以加入“群”。但是這明顯是不好的,不管管理上,還是從安全,或者内容上。是以我們要給“群”加上鎖,隻能讓有鑰匙的使用者進入。
日常方面我們都是使用密碼來使用鎖匙,在本文我也正是要講的是使用密碼來給“群”上鎖,這樣,以後有誰想加入該“群”,必須要有該“群”的的鑰匙“密碼”才行。
在這裡本來打算利用一次全寫完,可是考慮到,如果把所有内容一次給出,看來麻煩,而且對于了解也不太好。是以會分次給出。在這篇我隻想講講如何通過身份認證加入“群”的過程。給出部分代碼,代碼也加上了必要的注釋,希望大家可以看明白過程就行。
代碼的實作過程,将後續慢慢發出。
在這裡隻要注意構造方法裡程式運作的順序,就可以看出該過程。
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("加入目标對等組成功......");
}
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;
}
}
上面空的方法,會在以後發出。還沒學習到這裡的同學,也可以自己去通過學習,自己補上。 這樣應該你應該發出來,讓我學習一下啦。