我想写自己的ClassLoader。作为Applet的默认ClassLoader,它应该更快,更动态。
但我不知道应该如何实现该方法:
PermissionCollection getPermissions( CodeSource codesource )
如果CodeSource中存在有效证书,则超级实现也不授予任何权限。
我必须自己验证证书,还是已经从Java VM验证并从用户接受?
答案 0 :(得分:1)
Sun PlugIn和WebStart覆盖getPermissions
以检查签名并与用户核实他们是否希望接受证书。这是一个实现细节,将来可能会发生变化。
答案 1 :(得分:1)
如果我错了,请纠正我 - 我想你想要的是在你的applet的初始化中的某个地方创建一个类加载器,然后使用该加载器加载你的后续类。如果是,则applet已经被授予了所有权限,因为它被签名(并且如果用户点击了浏览器警告)。您的getPermissions方法可能如下所示
PermissionCollection p = new Permissions();
p.add(new AllPermission());
return p;