Class ConfigFile


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

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

    1. 循环访问安全性属性login.config.url.1login.config.url.2 ,..., login.config.url.X 每个属性值指定一个URL指向要加载的登录配置文件。 读入并加载每个配置。
    2. java.lang.System字段java.security.auth.login.config也可以设置为指向另一个登录配置文件的URL (当用户在运行时使用-D开关时就是这种情况)。 如果定义了此属性,并且安全属性文件(Security属性, policy.allowSystemProperty设置为true )允许其使用,则还要加载该登录配置。
    3. 如果使用“==”(而不是“=”)定义java.security.auth.login.config属性,则忽略所有其他指定的登录配置,并仅加载此配置。
    4. 如果未设置系统或安全属性,请尝试从文件$ user.home} / .java.login.config中读取,其中$ {user.home}是“user.home”系统属性所表示的值。

    此实现支持的配置语法正是javax.security.auth.login.Configuration类中指定的语法。

    另请参见:
    LoginContextsecurity properties
    • 构造方法详细信息

      • 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检索条目。
        Specified by:
        getAppConfigurationEntryConfiguration
        参数
        applicationName - 用于索引 Configuration的名称
        结果
        AppConfigurationEntry的数组,对应于此应用程序的 LoginModule的堆叠配置;如果此应用程序未配置 LoginModule null。
      • refresh

        public void refresh()
        通过重新读取所有登录配置来刷新并重新加载 Configuration
        重写:
        refreshConfiguration
        异常
        SecurityException - if the caller does not have permission to refresh the Configuration