java.lang.Object
javax.security.auth.login.Configuration
com.sun.security.auth.login.ConfigFile
这个类代表了
javax.security.auth.login.Configuration
的默认实现。
这个对象存储了运行时的登录配置表示,是多个静态登录配置文件的综合体。定位登录配置文件并将它们的信息读入这个Configuration
对象的算法如下:
- 遍历安全属性,login.config.url.1,login.config.url.2,...,login.config.url.X。每个属性值指定一个指向要加载的登录配置文件的
URL
。读取并加载每个配置。 - 系统属性
java.security.auth.login.config
也可以设置为指向另一个登录配置文件的URL
(当用户在运行时使用-D开关时)。如果定义了此属性,并且安全属性文件允许其使用(安全属性,policy.allowSystemProperty设置为true),也加载该登录配置。 - 如果使用"=="定义了java.security.auth.login.config属性,则忽略所有其他指定的登录配置,只加载此配置。
- 如果未设置系统或安全属性,则尝试从文件${user.home}/.java.login.config中读取,其中${user.home}是由"user.home"系统属性表示的值。
此实现支持的配置语法正是javax.security.auth.login.Configuration
类中指定的语法。此外,安全属性policy.expandProperties可用于控制是否展开配置文件中的系统属性。如果未设置,默认值为true,这意味着属性将被展开。
- 参见:
-
Nested Class Summary
Nested classes/interfaces declared in class javax.security.auth.login.Configuration
Configuration.Parameters
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAppConfigurationEntry
(String applicationName) 使用应用程序名称作为索引从Configuration
中检索条目。void
refresh()
刷新并重新加载所有登录配置以重新读取Configuration
。Methods declared in class javax.security.auth.login.Configuration
getConfiguration, getInstance, getInstance, getInstance, getParameters, getProvider, getType, setConfiguration
-
Constructor Details
-
ConfigFile
public ConfigFile()创建一个新的Configuration
对象。- 抛出:
-
SecurityException
- 如果无法初始化Configuration
-
ConfigFile
从指定的URI
创建一个新的Configuration
对象。- 参数:
-
uri
-URI
- 抛出:
-
SecurityException
- 如果无法初始化Configuration
-
NullPointerException
- 如果uri
为null
-
-
Method Details
-
getAppConfigurationEntry
使用应用程序名称作为索引从Configuration
中检索条目。- 指定者:
-
getAppConfigurationEntry
在类Configuration
中 - 参数:
-
applicationName
- 用于索引Configuration
的名称 - 返回:
-
一个
LoginModule
的堆栈配置对应的AppConfigurationEntry
数组,如果此应用程序没有配置LoginModule
,则返回null。
-
refresh
public void refresh()刷新并重新加载所有登录配置以重新读取Configuration
。- 覆盖:
-
refresh
在类Configuration
中 - 抛出:
-
SecurityException
- 如果调用者没有刷新Configuration
的权限
-