📄 securitystub.java
字号:
import hp.chaiserver.*;
import hp.chaiserver.security.*;
import java.io.*;
public final class SecurityStub extends Worker implements IWorker {
private final String DISCOVERPROPS = new String("__DISCOVERPROPS");
static String realmName = null;
private IGateKeeperAuth gateK = null;
private final String AUTOSEC = new String("AUTOSEC");
public final String WORKER_VERSION = "ChaiServer.3.0.0.0";
private final static String SECURITYRUN = new String("securityRun");
// Helper methods for worker protected Object createObject() {
return (Object) new SecurityImpl();
}
protected String getObjectClassName() {
return new String("SecurityImpl");
}
public boolean checkSecurity() {
gateK = (IGateKeeperAuth)pl.getObject("master", "gk");
if (gateK != null) {
if (realmName != null) {
IRealmMgr rlmMgr = gateK.getRealmMgr();
Realm rlmObj = rlmMgr.getRealmObject(realmName);
if (rlmObj == null)
gateK.addRealm(realmName);
}
}
if ((gateK != null) && (realmName != null)) {
if(!gateK.authorize(args, reqEnv, realmName, true))
return false;
}
return true;
}
protected boolean invokeMethod(Object obj, String method, String format)
throws Exception {
SecurityImpl cs_obj = (SecurityImpl) obj;
if(method.equalsIgnoreCase(DISCOVERPROPS)) {
webProtocol.sendToClient("HTTP/1.1 200 OK\r\n");
webProtocol.sendToClient("MIME-Version: 1.0\r\n");
webProtocol.sendToClient("Server: HP/ChaiServer 3.0\r\n");
webProtocol.sendToClient("Content-type: text/plain\r\n\n");
webProtocol.sendToClient("securityRun");
return true;
}
if (method.equalsIgnoreCase(SECURITYRUN))
cs_obj.securityRun(format, args, reqEnv);
else
return false;
return true;
}
protected boolean isObjectInstance(Object obj) {
return (obj instanceof SecurityImpl);
}
// Methods callable outside of worker
public void initArgs(ArgVector args) {
super.initArgs(args);
realmName=args.getArg(AUTOSEC);
}
public String getVersion() {
return WORKER_VERSION;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -