java.lang.Object
java.security.Permission
javax.security.auth.kerberos.ServicePermission
- 所有已实现的接口:
-
Serializable
,Guard
该类用于保护Kerberos服务和访问这些服务所需的凭据。服务主体和访问服务所需的凭据之间存在一对一的映射。因此,授予对服务主体的访问隐含地授予了与服务主体建立安全上下文所需的凭据的访问权限。无论凭据是否在缓存中或通过与KDC的交换获取,都适用这一点。凭据可以是票据授予票据、服务票据或密钥表中的密钥。
ServicePermission包含服务主体名称和指定凭据可在其中使用的操作列表。
服务主体名称是提供服务的KerberosPrincipal
的规范名称,即KerberosPrincipal代表Kerberos服务主体。此名称区分大小写。星号可以单独出现,表示任何服务主体。
授予此权限意味着调用者可以在操作指定的上下文中使用缓存的凭据(TGT、服务票据或密钥)。对于TGT,授予此权限还意味着TGT可以通过认证服务交换获取。
授予此权限还意味着创建KerberosPrincipal
或GSSName
,而不提供Kerberos领域,只要权限的服务主体在此领域中。
可能的操作包括:
initiate - 允许调用者使用凭据启动与服务主体的安全上下文。 accept - 允许调用者使用凭据接受特定主体的安全上下文。例如,要指定访问TGT以启动安全上下文的权限,权限构造如下:
ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");
要获取服务票据以与“host”服务启动上下文,权限构造如下:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");
对于Kerberized服务器,操作是“accept”。例如,访问和使用Kerberized“host”服务(telnet等)的密钥的必要权限将构造如下:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
ConstructorDescriptionServicePermission
(String servicePrincipal, String action) 使用指定的servicePrincipal
和action
创建一个新的ServicePermission
。 -
Method Summary
Modifier and TypeMethodDescriptionboolean
检查两个ServicePermission对象是否相等。返回操作的规范字符串表示形式。int
hashCode()
返回此对象的哈希码值。boolean
检查此Kerberos服务权限对象是否“暗示”指定的权限。返回用于存储ServicePermission对象的PermissionCollection对象。Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
ServicePermission
使用指定的servicePrincipal
和action
创建一个新的ServicePermission
。- 参数:
-
servicePrincipal
- 服务主体的名称。星号可以单独出现,表示任何服务主体。 -
action
- 操作字符串
-
-
Method Details
-
implies
检查此Kerberos服务权限对象是否“暗示”指定的权限。更具体地说,如果以下所有条件都为真,则此方法返回true(如果任何条件不为真,则返回false):
- p是
ServicePermission
的一个实例, - p的操作是此
ServicePermission
的操作的真子集, - p的名称等于此
ServicePermission
的名称,或者此ServicePermission
的名称为“*”。
- 指定者:
-
implies
在类Permission
- 参数:
-
p
- 要检查的权限。 - 返回:
- 如果此对象暗示指定的权限,则为true;否则为false。
- p是
-
equals
检查两个ServicePermission对象是否相等。- 指定者:
-
equals
在类Permission
- 参数:
-
obj
- 要与此对象进行相等性测试的对象。 - 返回:
-
如果
obj
是一个ServicePermission,并且具有与此ServicePermission对象相同的服务主体和操作,则为true。 - 参见:
-
hashCode
public int hashCode()返回此对象的哈希码值。- 指定者:
-
hashCode
在类Permission
- 返回:
- 此对象的哈希码值。
- 参见:
-
getActions
返回操作的规范字符串表示形式。始终以以下顺序返回当前操作:initiate, accept。- 指定者:
-
getActions
在类Permission
- 返回:
-
此
Permission
的操作。
-
newPermissionCollection
返回用于存储ServicePermission对象的PermissionCollection对象。
ServicePermission对象必须以一种允许它们以任何顺序插入到集合中的方式存储,但也要使PermissionCollection implies方法能够以有效(和一致)的方式实现。- 覆盖:
-
newPermissionCollection
在类Permission
- 返回:
- 适用于存储ServicePermissions的新PermissionCollection对象。
-