📄 testds.java
字号:
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2003.01.01 00:00:00", "2011.01.01 00:00:00", "cannot", "0"); count++;
roles = new String[] {"Student", "Researcher"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2001.01.01 00:00:00", "2006.01.01 00:00:00", "can", "2"); count++;
roles = new String[] {"Staff"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "perRole", "2005.01.01 00:00:00", "2007.01.01 00:00:00", "can", "2"); count++;
//issue to outside world
roles = new String[] {"Staff"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=soa1, o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.01.01 00:00:00", "can", "2"); count++;
//issue to aa1
//this is testing for both summer time and GMT time
roles = new String[] {"Professor", "Researcher"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=aa1,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.01.1 12:00:00", "can", "-1"); count++;
roles = new String[] {"Professor", "Researcher"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=aa1,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "-1"); count++;
roles = new String[] {"Professor", "Staff"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=aa1,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "0"); count++;
roles = new String[] {"Student", "Researcher"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=aa1,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
//issue to student1
roles = new String[] {"Student"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=student1,ou=student,o=permis,c=gb", roles, "permisRole", "2004.06.10 12:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
roles = new String[] {"Professor", "Student"};
doIssuing(count, "cn=soa,ou=admin,o=permis,c=gb", "cn=student1,ou=student,o=permis,c=gb", roles, "permisRole", "2003.06.01 12:00:00", "2008.08.27 12:00:00", "can", "-1"); count++;
//ISSUED BY DIS
//issue to admin1
roles = new String[] {"Admin"};
doIssuing(count, "cn=dis,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2004.01.01 12:00:00", "2010.01.01 12:00:00", "cannot", "0"); count++;
roles = new String[] {"Admin"};
doIssuing(count, "cn=dis,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2004.01.01 12:00:00", "2009.05.01 12:00:00", "can", "1"); count++;
roles = new String[] {"Admin", "Professor"};
doIssuing(count, "cn=dis,ou=admin,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2003.01.01 00:00:00", "2011.01.01 00:00:00", "cannot", "0"); count++;
//issue to DIS
roles = new String[] {"Admin", "Professor"};
doIssuing(count, "cn=dis,ou=admin,o=permis,c=gb", "cn=dis,ou=admin,o=permis,c=gb", roles, "permisRole", "2006.01.01 00:00:00", "2009.01.01 00:00:00", "cannot", "0"); count++;
//issue to aa2
roles = new String[] {"Professor", "Researcher"};
doIssuing(count, "cn=dis,ou=admin,o=permis,c=gb", "cn=aa2,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "cannot", "0"); count++;
//ISSUED BY AA1
roles = new String[] {"Student", "Researcher"};
doIssuing(count, "cn=aa1,ou=staff,o=permis,c=gb", "cn=aa1,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
roles = new String[] {"Student"};
doIssuing(count, "cn=aa1,ou=staff,o=permis,c=gb", "cn=student1,ou=student,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
roles = new String[] {"Researcher"};
doIssuing(count, "cn=aa1,ou=staff,o=permis,c=gb", "cn=aa2,ou=staff,o=permis,c=gb", roles, "permisRole", "2004.03.01 00:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
roles = new String[] {"Professor"};
doIssuing(count, "cn=aa1,ou=staff,o=permis,c=gb", "cn=aa3,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2007.08.27 00:00:00", "can", "1"); count++;
roles = new String[] {"Professor", "Researcher"};
doIssuing(count, "cn=aa1,ou=staff,o=permis,c=gb", "cn=aa4,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2007.08.27 00:00:00", "can", "0"); count++;
//ISSUED BY AA2
roles = new String[] {"Student"};
doIssuing(count, "cn=aa2,ou=staff,o=permis,c=gb", "cn=student1,ou=student,o=permis,c=gb", roles, "permisRole", "2004.06.01 12:00:00", "2007.08.27 12:00:00", "can", "2"); count++;
roles = new String[] {"Professor", "Researcher"};
doIssuing(count, "cn=aa2,ou=staff,o=permis,c=gb", "cn=aa5,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2010.01.01 00:00:00", "can", "0"); count++;
roles = new String[] {"Researcher"};
doIssuing(count, "cn=aa2,ou=staff,o=permis,c=gb", "cn=aa5,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
//ISSUED BY AA3
roles = new String[] {"Researcher"};
doIssuing(count, "cn=aa3,ou=staff,o=permis,c=gb", "cn=aa5,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
roles = new String[] {"Professor"};
doIssuing(count, "cn=aa3,ou=staff,o=permis,c=gb", "cn=aa5,ou=staff,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
roles = new String[] {"Professor"};
doIssuing(count, "cn=aa3,ou=staff,o=permis,c=gb", "cn=admin1,ou=admin,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
//ISSUED BY STUDENT1
roles = new String[] {"Student"};
doIssuing(count, "cn=student1,ou=student,o=permis,c=gb", "cn=student2,ou=student,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
roles = new String[] {"Professor"};
doIssuing(count, "cn=student1,ou=student,o=permis,c=gb", "cn=student2,ou=student,o=permis,c=gb", roles, "permisRole", "2000.01.01 00:00:00", "2007.08.27 02:00:00", "can", "0"); count++;
roles = new String[] {"Student"};
doIssuing(count, "cn=student1,ou=student,o=permis,c=gb", "cn=student5,ou=student,o=permis,c=gb", roles, "permisRole", "2005.01.01 00:00:00", "2006.05.01 00:00:00", "can", "0"); count++;
// log.debug("Issuing process is done");
}
public void testPDP(String[] args) {
InputStream in = System.in;
File parentDir = null;
try{
File inFile = new File(args[0]);
in = new FileInputStream(inFile);
parentDir=inFile.getParentFile();
}catch(IOException ioe){
// log.fatal(args[0] + " is not found");
return;
}
try {
PermisRBAC pba = null;
// log.debug("Setting the clock");
CustomisePERMIS.setSystemClock("issrg.test.ds.PermisRBACDISTest");
PermisRBACDISTest theClock = (PermisRBACDISTest)CustomisePERMIS.getSystemClock();
// log.debug("Initializing the PermisRBAC");
pba = new PermisRBAC(new RepositoryACPolicyFinder(r, OID, new LDAPDNPrincipal(SOA), sv), r, tokenParser);
// log.debug("PermisRBAC is initialized");
//Vector arguments = new Vector();
LDAPDNPrincipal user=null;
Subject subject=null;
PermisTarget target=null;
Action act = null;
Map env = new Hashtable();
int count = 0;
BufferedReader br=new BufferedReader(new InputStreamReader(in));
String s=null;
while((s=br.readLine())!=null){
if (!s.trim().equals("") && !s.trim().startsWith("#")){
String instruction = s.substring(0,4).trim();
String rhs = s.substring(4).trim();
System.out.println(rhs);
if (instruction.equals("usr")) {
user=new LDAPDNPrincipal(rhs);
} else if (instruction.equals("act")) {
act = new PermisAction(rhs);
} else if (instruction.equals("tgt")) {
String proto = null;
try{
proto=URLHandler.getProtocolName(rhs);
}catch(BadURLException bue){ /* ignore it */ }
if (proto!=null && URLHandler.getURLHandler(proto)!=null){ // it is a URL then
target = new PermisTarget(rhs);
}else{ // well, it must be a LDAP DN then
target = new PermisTarget(rhs, null); // this time it is treated as a DN + a null array of object classes
}
} else if (instruction.equals("env")) {
theClock.setTime(theClock.toTime(rhs));
subject=pba.getCreds(user);
System.out.println(++count + ". Decision: "+(pba.decision(subject, act, target, env)?"grant":"deny"));
System.out.println();
} else if (instruction.equals("prtl")) {
System.out.println("--------------Change user-----------------");
}
}
}
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -