java.lang.Object
java.security.Permission
java.security.BasicPermission
javax.security.auth.AuthPermission
- 所有已实现的接口:
-
Serializable
,Guard
这个类用于认证权限。一个
AuthPermission
包含一个名称(也称为“目标名称”),但没有操作列表;你要么有命名权限,要么没有。
目标名称是安全配置参数的名称(见下文)。目前,AuthPermission
对象用于保护对Subject
、LoginContext
和Configuration
对象的访问。
认证权限的标准目标名称包括:
doAs - 允许调用者调用Subject.doAs
方法。 doAsPrivileged - 允许调用者调用Subject.doAsPrivileged
方法。 getSubject - 允许检索与当前线程关联的Subject(s)。 getSubjectFromDomainCombiner - 允许检索与SubjectDomainCombiner
关联的Subject。 setReadOnly - 允许调用者将Subject设置为只读。 modifyPrincipals - 允许调用者修改与Subject
关联的Principals的Set
。 modifyPublicCredentials - 允许调用者修改与Subject
关联的公共凭据的Set
。 modifyPrivateCredentials - 允许调用者修改与Subject
关联的私有凭据的Set
。 refreshCredential - 允许代码调用实现Refreshable
接口的凭据上的refresh
方法。 destroyCredential - 允许代码调用实现Destroyable
接口的凭据对象
上的destroy
方法。 createLoginContext.{name} - 允许代码使用指定的name
实例化一个LoginContext
。name
用作已安装的登录Configuration
(由Configuration.getConfiguration()
返回的)的索引。 name可以使用通配符(设置为'*')以允许任何名称。 getLoginConfiguration - 允许检索系统范围的登录配置。 createLoginConfiguration.{type} - 允许代码通过Configuration.getInstance
获取一个Configuration对象。 setLoginConfiguration - 允许设置系统范围的登录配置。 refreshLoginConfiguration - 允许刷新系统范围的登录配置。
请注意,使用“modifyPrincipals”、“modifyPublicCredentials”或“modifyPrivateCredentials”目标授予此权限允许JAAS登录模块将主体或凭据对象填充到Subject中。尽管读取私有凭据集中的信息需要授予凭据类型的PrivateCredentialPermission
,但读取主体集和公共凭据集中的信息不需要额外的权限。这些对象可能包含潜在敏感信息。例如,读取本地用户信息或执行Kerberos登录的登录模块能够向主体集中添加潜在敏感信息,如用户ID、组和域名。
以下目标名称已被弃用,推荐使用createLoginContext.{name}
。
createLoginContext - 允许代码实例化一个LoginContext
。
- 实现注意事项:
- 实现可以定义额外的目标名称,但应使用命名约定,如反向域名表示法,以避免名称冲突。
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
ConstructorDescriptionAuthPermission
(String name) 使用指定的名称创建一个新的AuthPermission。AuthPermission
(String name, String actions) 使用指定的名称创建一个新的AuthPermission对象。 -
Method Summary
Methods declared in class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
AuthPermission
使用指定的名称创建一个新的AuthPermission。名称是AuthPermission的符号名称。- 参数:
-
name
- AuthPermission的名称 - 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-
AuthPermission
使用指定的名称创建一个新的AuthPermission对象。名称是AuthPermission的符号名称,操作字符串目前未使用,应为null。- 参数:
-
name
- AuthPermission的名称 -
actions
- 应为null。 - 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-