类 ConfigFile

java.lang.Object
javax.security.auth.login.Configuration
com.sun.security.auth.login.ConfigFile

public class ConfigFile extends Configuration
此类表示 javax.security.auth.login.Configuration 的默认实现。

此对象存储运行时登录配置表示,并且是驻留在文件中的多个静态登录配置的合并。用于定位登录配置文件并将其信息读入此 Configuration 对象的算法是:

  1. 遍历安全属性,login.config.url.1, login.config.url.2, ..., login.config.url.X.每个属性值指定一个URL 指向要加载的登录配置文件。读入并加载每个配置。
  2. 系统属性 java.security.auth.login.config 也可以设置为 URL 指向另一个登录配置文件(当用户在运行时使用 -D 开关时就是这种情况)。如果定义了此属性,并且安全属性文件(Security 属性,policy.allowSystemProperty被设定为true), 同时加载该登录配置。
  3. 如果java.security.auth.login.config属性使用“==”(而不是“=”)定义,则忽略所有其他指定的登录配置,仅加载此配置。
  4. “user.home”系统属性表示的值.

此实现支持的配置语法正是 javax.security.auth.login.Configuration 类中指定的语法。此外,安全属性policy.expandProperties可以用来控制配置文件中的系统属性是否展开。如果没有设置,默认值为true这意味着属性将被扩展。

参见:
  • 构造方法详细信息

    • ConfigFile

      public ConfigFile()
      创建一个新的 Configuration 对象。
      抛出:
      SecurityException - 如果 Configuration 无法初始化
    • ConfigFile

      public ConfigFile(URI  uri)
      从指定的 URI 创建一个新的 Configuration 对象。
      参数:
      uri - URI
      抛出:
      SecurityException - 如果 Configuration 无法初始化
      NullPointerException - 如果 uri 为空
  • 方法详情

    • getAppConfigurationEntry

      public AppConfigurationEntry [] getAppConfigurationEntry(String  applicationName)
      使用应用程序名称作为索引从 Configuration 中检索条目。
      指定者:
      getAppConfigurationEntry 在类 Configuration
      参数:
      applicationName - 用于索引 Configuration 的名称
      返回:
      AppConfigurationEntry 的数组,它对应于此应用程序的 LoginModule 的堆叠配置,如果此应用程序没有配置的 LoginModule s,则为 null。
    • refresh

      public void refresh()
      通过重新读取所有登录配置来刷新并重新加载 Configuration
      重写:
      refresh 在类 Configuration
      抛出:
      SecurityException - 如果调用者没有权限刷新 Configuration