模块  java.base
软件包  java.security

Class PolicySpi


  • public abstract class PolicySpiextends 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。