Module java.base

Class AuthPermission

所有已实现的接口:
Serializable, Guard

public final class AuthPermission extends BasicPermission
这个类用于认证权限。一个AuthPermission包含一个名称(也称为“目标名称”),但没有操作列表;你要么有命名权限,要么没有。

目标名称是安全配置参数的名称(见下文)。目前,AuthPermission对象用于保护对SubjectLoginContextConfiguration对象的访问。

认证权限的标准目标名称包括:

      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实例化一个LoginContextname用作已安装的登录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 Details

    • AuthPermission

      public AuthPermission(String name)
      使用指定的名称创建一个新的AuthPermission。名称是AuthPermission的符号名称。
      参数:
      name - AuthPermission的名称
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空。
    • AuthPermission

      public AuthPermission(String name, String actions)
      使用指定的名称创建一个新的AuthPermission对象。名称是AuthPermission的符号名称,操作字符串目前未使用,应为null。
      参数:
      name - AuthPermission的名称
      actions - 应为null。
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空。