Subject 类

定义

表示 Subject 单个实体(如人员)的相关信息分组。

[Android.Runtime.Register("javax/security/auth/Subject", DoNotGenerateAcw=true)]
public sealed class Subject : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("javax/security/auth/Subject", DoNotGenerateAcw=true)>]
type Subject = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
Subject
属性
实现

注解

表示 Subject 单个实体(如人员)的相关信息分组。 此类信息包括使用者的标识及其安全相关属性, (密码和加密密钥,例如) 。

使用者可能具有多个标识。 每个标识在 中Subject表示为 Principal 。 主体只需将名称 Subject绑定到 。 例如,Subject恰好是一个人 Alice 的 可能有两个主体:一个将“Alice Bar”(她的驾驶执照Subject上的名称)绑定到 ,另一个将“999-99-9999”(她的学生标识卡Subject上的数字)绑定到 。 两个主体引用相同的 Subject ,即使每个主体都有不同的名称。

Subject还可以拥有与安全相关的属性,这些属性称为凭据。 需要特殊保护的敏感凭据(如专用加密密钥)存储在专用凭据 Set中。 旨在共享的凭据(例如公钥证书或 Kerberos 服务器票证)存储在公共凭据 Set中。 访问和修改不同的凭据集需要不同的权限。

若要检索与 Subject关联的所有主体,请调用 getPrincipals 方法。 若要检索属于 Subject的所有公共或私有凭据,请分别调用 getPublicCredentials 方法或 getPrivateCredentials 方法。 若要修改主体和凭据返回 Set 的 ,请使用 类中 Set 定义的方法。 例如:

Subject subject;
                 Principal principal;
                 Object credential;

                 // add a Principal and credential to the Subject
                 subject.getPrincipals().add(principal);
                 subject.getPublicCredentials().add(credential);

此类 Subject 实现 Serializable。 虽然与 关联的 Subject 主体已序列化,但与 Subject 关联的凭据不会序列化。 请注意, java.security.Principal 类不实现 Serializable。 因此,与 Subjects 关联的所有具体 Principal 实现都必须实现 Serializable

javax.security.auth.SubjectJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

构造函数

Subject()

创建一个实例, Subject 其中主体为空 Set ,公共和专用凭据集为空。

Subject(Boolean, ICollection<IPrincipal>, ICollection<Object>, ICollection<Object>)

使用主体和凭据创建 的 Subject 实例。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsReadOnly

查询此 Subject 是否为只读。

JniIdentityHashCode

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
JniPeerMembers

表示 Subject 单个实体(如人员)的相关信息分组。

PeerReference

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
Principals

Set返回与此 Subject关联的主体的 。

PrivateCredentials

Set返回此 Subject持有的专用凭据的 。

PublicCredentials

Set返回此 Subject持有的公共凭据的 。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

(继承自 Object)

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
Dispose(Boolean)

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
DoAs(Subject, IPrivilegedAction)

以特定 Subject的形式执行工作。

DoAs(Subject, IPrivilegedExceptionAction)

以特定 Subject的形式执行工作。

DoAsPrivileged(Subject, IPrivilegedAction, AccessControlContext)

以特定 Subject身份执行特权工作。

DoAsPrivileged(Subject, IPrivilegedExceptionAction, AccessControlContext)

以特定 Subject身份执行特权工作。

Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetPrincipals(Class)

返回与此 Subject 关联的主体的 ,Set这些主体是指定 Class的实例或子类。

GetPrivateCredentials(Class)

返回与此 Subject 关联的私有凭据的 ,Set这些凭据是指定 Class的实例或子类。

GetPublicCredentials(Class)

返回与此 Subject 关联的公共凭据的 ,Set这些凭据是指定 Class的实例或子类。

GetSubject(AccessControlContext)

获取与 Subject 提供的 AccessControlContext关联的 。

JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetReadOnly()

将其 Subject 设置为只读。

ToArray<T>()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.Finalized()

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

表示 Subject 单个实体(如人员)的相关信息分组。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

表示 Subject 单个实体(如人员)的相关信息分组。

GetJniTypeName(IJavaPeerable)

表示 Subject 单个实体(如人员)的相关信息分组。

适用于