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