Subject 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 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
表示为 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.Subject
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
Subject() |
创建一个实例, |
Subject(Boolean, ICollection<IPrincipal>, ICollection<Object>, ICollection<Object>) |
使用主体和凭据创建 的 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsReadOnly |
查询此 |
JniIdentityHashCode |
表示 |
JniPeerMembers |
表示 |
PeerReference |
表示 |
Principals |
|
PrivateCredentials |
|
PublicCredentials |
|
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Dispose() |
表示 |
Dispose(Boolean) |
表示 |
DoAs(Subject, IPrivilegedAction) |
以特定 |
DoAs(Subject, IPrivilegedExceptionAction) |
以特定 |
DoAsPrivileged(Subject, IPrivilegedAction, AccessControlContext) |
以特定 |
DoAsPrivileged(Subject, IPrivilegedExceptionAction, AccessControlContext) |
以特定 |
Equals(Object) |
指示某个其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
GetPrincipals(Class) |
返回与此 |
GetPrivateCredentials(Class) |
返回与此 |
GetPublicCredentials(Class) |
返回与此 |
GetSubject(AccessControlContext) |
获取与 |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
SetReadOnly() |
将其 |
ToArray<T>() |
表示 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
表示 |
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() |
表示 |
IJavaPeerable.DisposeUnlessReferenced() |
表示 |
IJavaPeerable.Finalized() |
表示 |
IJavaPeerable.JniManagedPeerState |
表示 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
表示 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
表示 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
表示 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
表示 |
GetJniTypeName(IJavaPeerable) |
表示 |