Поделиться через


PrincipalPermission.Intersect(IPermission) Метод

Определение

Создает и возвращает разрешение, представляющее собой пересечение текущего и указанного разрешений.

public:
 virtual System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public System.Security.IPermission Intersect (System.Security.IPermission target);
abstract member Intersect : System.Security.IPermission -> System.Security.IPermission
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Function Intersect (target As IPermission) As IPermission

Параметры

target
IPermission

Разрешение, пересекающееся с текущим разрешением. Его тип должен совпадать с типом текущего разрешения.

Возвращаемое значение

Новое разрешение, представляющее собой пересечение текущего и указанного разрешений. Это новое разрешение будет иметь значение null, если пересечение является пустым.

Реализации

Исключения

Параметр target не равен null и не является экземпляром того же класса, что и текущее разрешение.

Комментарии

Так как два пользователя никогда не пересекаются, этот метод не полезен для PrincipalPermission. Например,

PrincipalPermission^ ppBob = gcnew PrincipalPermission("Bob", "Administrator");
PrincipalPermission^ ppLouise = gcnew PrincipalPermission("Louise", "Administrator");
IPermission^ pp1 = ppBob->Intersect(ppLouise);
PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
IPermission pp1 = ppBob.Intersect(ppLouise);
Dim ppBob As New PrincipalPermission("Bob", "Administrator")
Dim ppLouise As New PrincipalPermission("Louise", "Administrator")
Dim pp1 As IPermission = ppBob.Intersect(ppLouise)

эквивалентно

IPermission^ pp1 = gcnew PrincipalPermission("", "Administrator");
IPermission pp1 = new PrincipalPermission("", "Administrator");
Dim pp1 As IPermission = New PrincipalPermission("", "Administrator")

потому что никакая идентификация не может одновременно представлять и Боба, и Луиза. По сути, успешно выполняется только в том случае, pp1.Demand() если субъекту без проверки подлинности (с именем, равным пустой строке ("")) разрешено действовать в роли администратора.

Применяется к