java.lang.Object java.security.Permission javax.security.auth.kerberos.ServicePermission
public final class ServicePermission
此类用于保护 Kerberos 服务和访问这些服务所必需的证书。服务主体与访问该服务所必需的证书之间存在一对一的映射关系。因此授予访问服务主体的权限隐含了授予访问使用该服务主体建立安全上下文所必需的证书的权限。不管证书是在缓存中还是通过与 KDC 交换获得的,这一规则都适用。证书可以是票据授权票据、服务票据或密钥表中的密钥。
ServicePermission 包含服务主体名称和指定可在其中使用证书的上下文的动作列表。
服务主体名称是提供服务的 KereberosPrincipal
的规范名称,也就是说 KerberosPrincipal 表示 Kerberos 服务主体。此名称是以区分大小写的方式处理的。星号可以单独出现,表示任何服务主体。
授予此权限暗示着调用者可以使用该动作指定的上下文中缓存的证书(TGT、服务票据或秘密密钥)。在证书为 TGT 的情况下,授予此权限还暗示着 TGT 可以通过 Authentication Service 交换获得。
可能的动作为:
initiate - 允许调用者使用证书来启动带有服务主体的安全上下文。 accept - 允许调用者使用证书来接受作为特定主体的安全上下文。例如,指定访问 TGT 的权限来启动安全上下文,权限的构造如下:
ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");
为获取服务票据来启动带有 "host" 服务的上下文,权限的构造如下:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");
对于 Kerberized 服务器,该动作为 "accept"。例如,访问和使用 Kerberized“主机”服务(telnet 以及类似服务)的秘密密钥的权限将被构造如下:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
构造方法摘要 | |
---|---|
ServicePermission(String servicePrincipal, String action) 创建带指定的 servicePrincipal 和 action 的新 ServicePermission 。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj) 检查两个 ServicePermission 对象是否相等。 |
String |
getActions() 返回动作的规范化字符串表示形式。 |
int |
hashCode() 返回此对象的哈希码值。 |
boolean |
implies(Permission p) 检查此 Kerberos 服务权限对象是否“隐含”指定的权限。 |
PermissionCollection |
newPermissionCollection() 返回用于存储 ServicePermission 对象的 PermissionCollection 对象。 |
从类 java.security.Permission 继承的方法 |
---|
checkGuard, getName, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public ServicePermission(String servicePrincipal, String action)
servicePrincipal
和
action
的新
ServicePermission
。
servicePrincipal
- 服务主体的名称。星号可以单独出现,表示任何服务主体。
actions
- 动作字符串。
方法详细信息 |
---|
public boolean implies(Permission p)
如果上述条件都不为 true,则 implies
返回 false。
Permission
中的
implies
p
- 所要检查的权限。
public boolean equals(Object obj)
Permission
中的
equals
obj
- 要与此对象进行相等性测试的对象。
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
中的
hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
Permission
中的
getActions
public PermissionCollection newPermissionCollection()
Permission
中的
newPermissionCollection