做人要厚道,你自己做个Applet试一下不就知道了,不用format硬盘,只要创建一个文件就可以了
Applet要使用特权操作,必须加上签名而且要用户信任
java的安全机制还是很鲁棒的

解决方案 »

  1.   

    对于java平台来说,即使没有通过安全鉴别的applet,也应该可以运行时,只是它访问系统的资源会受到限制,一般平台会根据实际的需要开放一些基本的资源,对于签名的applet可以访问其他的资源,但是对于未签名的applet,它可以运行,但它可以使用了doPrivileged访问非法资源,这时不会再做签名验证了吧,我的问题就是这样的
      

  2.   

    那你有试过用没有签名的Applet来获得额外的权限吗?
    当然这个需要在ie中测试,好像用appletviewer是不检查权限的
      

  3.   

    难道java seucrity中就没有明确说明这一点吗?
      

  4.   

    The action is performed with all of the permissions possessed by the caller's protection domain. 此Action拥有全部caller的特权,不可能拥有大于调用者的特权的。所以,applet中调用AccessController.doPrivileged并不会有大于applet的特权。
      

  5.   

    楼上这位仁兄的说法可能有些问题,特权操作正是因为applet没有某种权限但又必须要做的情况下,才会使用doPrivileged,如果PrivilegedAction正好在applet的赋予的权限之内,那何必多次一举,checkpermission应该直接通过才对啊
      

  6.   

    我急得好像是在使用Java Web Start的时候,调用这样的方法,系统会提示用户该程序需要什么样的资源,等待用户确认,Applet应该类似,可能是提示用户,也有可能是系统直接拒绝掉这个问题我想可以试一下就知道了
      

  7.   

    这个方法应该是申请特权,但是并不一定可以申请的到如果有个操作在applet的权限之内的话,根本没有必要申请
    如果不在的话applet权限之内的话,只能说申请也不一定能够申请到(如果一定可以的话也不用申请了)
      

  8.   

    我试过了,使用doPrivileged不能申请到想要的权限,如getPolicy时,需要SecurityPermission("getPolicy“), 即使applet使用了doPrivelged,依然会在checkPermission时抛出SecurityException: access denied <SecurityPermission getPolicy>这样,我的问题是究竟doPrivileged应该怎么用才能使applet真正获得某种特权?