Search code examples
javasecurityrmi

RMISecurityManager vs. SecurityManager


According to the Java API documentation,

RMISecurityManager implements a policy that is no different than the policy implemented by SecurityManager. Therefore an RMI application should use the SecurityManager class or another application-specific SecurityManager implementation instead of this class.

If this is the case, then what is the point of having a separate RMISecurityManager class? Are there any situations where it should be used over SecurityManager?


Solution

  • There is no point. If you look at the definition of RMISecurityManager:

    public class RMISecurityManager extends SecurityManager {
    
        /**
         * Constructs a new <code>RMISecurityManager</code>.
         * @since JDK1.1
         */
        public RMISecurityManager() {
        }
    }
    

    It really does nothing. My guess is that it exists for historical reasons. You never really gain anything by using it.