Module  java.base
软件包  java.security

Class PolicySpi



  • public abstract class PolicySpi
    extends Object
    该类定义了Policy类的 ( SPI )。 此类中的所有抽象方法必须由希望提供Policy实施的每个服务提供商实现。

    此抽象类的子类实现必须提供一个公共构造函数,它将一个Policy.Parameters对象作为输入参数。 如果不了解Policy.Parameters输入,这个构造函数也必须抛出一个IllegalArgumentException。

    从以下版本开始:
    1.6
    • 构造方法详细信息

      • PolicySpi

        public PolicySpi​()
    • 方法详细信息

      • engineImplies

        protected abstract boolean engineImplies​(ProtectionDomain domain,
                                                 Permission permission)
        检查策略是否授予了ProtectionDomain的权限。
        参数
        domain - 要检查的ProtectionDomain。
        permission - 检查是否将此权限授予给指定的域。
        结果
        boolean如果权限授予域,则为true。
      • engineRefresh

        protected void engineRefresh​()
        刷新/重新加载策略配置。 该方法的行为取决于实现。 例如,对基于文件的策略调用refresh将导致重新读取该文件。

        这种方法的默认实现什么都不做。 如果策略实现支持刷新操作,则该方法应该被覆盖。

      • engineGetPermissions

        protected PermissionCollection engineGetPermissions​(CodeSource codesource)
        返回一个PermissionCollection对象,该对象包含授予指定CodeSource的一组权限。

        此方法的默认实现返回Policy.UNSUPPORTED_EMPTY_COLLECTION对象。 如果策略实现可以返回授予CodeSource的一组权限,则可以覆盖此方法。

        参数
        codesource - 已授予返回的PermissionCollection的CodeSource。
        结果
        一组授予给指定CodeSource的权限。 如果支持此操作,则返回的权限集必须是新的可变实例,并且必须支持异构许可类型。 如果不支持此操作,则返回Policy.UNSUPPORTED_EMPTY_COLLECTION。
      • engineGetPermissions

        protected PermissionCollection engineGetPermissions​(ProtectionDomain domain)
        返回一个PermissionCollection对象,该对象包含授予指定ProtectionDomain的一组权限。

        此方法的默认实现返回Policy.UNSUPPORTED_EMPTY_COLLECTION对象。 如果策略实现可以返回授予ProtectionDomain的一组权限,则可以覆盖此方法。

        参数
        domain - 已授予返回的PermissionCollection的ProtectionDomain。
        结果
        授予指定的ProtectionDomain的一组权限。 如果支持此操作,则返回的权限集必须是新的可变实例,并且必须支持异构许可类型。 如果不支持此操作,则返回Policy.UNSUPPORTED_EMPTY_COLLECTION。