CodeConnectAccess Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает доступ к сетевому ресурсу, который предоставляется коду.
public ref class CodeConnectAccess
public class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
type CodeConnectAccess = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
- Наследование
-
CodeConnectAccess
- Атрибуты
Примеры
Следующий пример кода создает NetCodeGroup объект и добавляет его на уровень политики пользователя.
static void SetNetCodeGroupAccess()
{
String^ userPolicyLevel = "User";
// Locate the User policy level.
PolicyLevel^ level = nullptr;
System::Collections::IEnumerator^ ph =
System::Security::SecurityManager::PolicyHierarchy();
while(ph->MoveNext())
{
level = (PolicyLevel^)ph->Current;
if (level->Label == userPolicyLevel)
{
break;
}
}
if (level->Label != userPolicyLevel)
throw gcnew ApplicationException("Could not find User policy level.");
IMembershipCondition^ membership =
gcnew UrlMembershipCondition("http://www.contoso.com/*");
NetCodeGroup^ codeGroup = gcnew NetCodeGroup(membership);
// Delete default settings.
codeGroup->ResetConnectAccess();
// Create an object that represents access to the FTP scheme and
// default port.
CodeConnectAccess^ CodeAccessFtp =
gcnew CodeConnectAccess(Uri::UriSchemeFtp,
CodeConnectAccess::DefaultPort);
// Create an object that represents access to the HTTPS scheme
// and default port.
CodeConnectAccess^ CodeAccessHttps =
gcnew CodeConnectAccess(Uri::UriSchemeHttps,
CodeConnectAccess::DefaultPort);
// Create an object that represents access to the origin
// scheme and port.
CodeConnectAccess^ CodeAccessOrigin =
CodeConnectAccess::CreateOriginSchemeAccess
(CodeConnectAccess::OriginPort);
// Add connection access objects to the NetCodeGroup object.
codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessFtp);
codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessHttps);
codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessOrigin);
// Provide name and description information for caspol.exe tool.
codeGroup->Name = "ContosoHttpCodeGroup";
codeGroup->Description = "Code originating from contoso.com can" +
" connect back using the FTP or HTTPS.";
// Add the code group to the User policy's root node.
level->RootCodeGroup->AddChild(codeGroup);
// Save the changes to the policy level.
System::Security::SecurityManager::SavePolicy();
}
public static void SetNetCodeGroupAccess()
{
const string userPolicyLevel = "User";
// Locate the User policy level.
PolicyLevel level = null;
System.Collections.IEnumerator ph =
System.Security.SecurityManager.PolicyHierarchy();
while(ph.MoveNext())
{
level = (PolicyLevel)ph.Current;
if( level.Label == userPolicyLevel )
{
break;
}
}
if (level.Label != userPolicyLevel)
throw new ApplicationException("Could not find User policy level.");
IMembershipCondition membership =
new UrlMembershipCondition(@"http://www.contoso.com/*");
NetCodeGroup codeGroup = new NetCodeGroup(membership);
// Delete default settings.
codeGroup.ResetConnectAccess();
// Create an object that represents access to the FTP scheme and default port.
CodeConnectAccess a1 = new CodeConnectAccess(Uri.UriSchemeFtp, CodeConnectAccess.DefaultPort);
// Create an object that represents access to the HTTPS scheme and default port.
CodeConnectAccess a2 = new CodeConnectAccess(Uri.UriSchemeHttps, CodeConnectAccess.DefaultPort);
// Create an object that represents access to the origin scheme and port.
CodeConnectAccess a3 = CodeConnectAccess.CreateOriginSchemeAccess(CodeConnectAccess.OriginPort);
// Add connection access objects to the NetCodeGroup object.
codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a1);
codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a2);
codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a3);
// Provide name and description information for caspol.exe tool.
codeGroup.Name = "ContosoHttpCodeGroup";
codeGroup.Description = "Code originating from contoso.com can connect back using the FTP or HTTPS.";
// Add the code group to the User policy's root node.
level.RootCodeGroup.AddChild(codeGroup);
// Save the changes to the policy level.
System.Security.SecurityManager.SavePolicy();
}
Комментарии
Этот класс используется в сочетании с классом NetCodeGroup для управления тем, как исполняемый код может подключаться к сайту, из него был скачан. Эти классы обеспечивают программный контроль предоставленного WebPermission кода, который управляет тем, какие схемы и порты код может использовать доступ к исходному сайту. Можно указать пары схем и портов, которые разрешены на основе схемы в URL-адресе, в котором создается код.
Чтобы создать CodeConnectAccess объект на основе схемы источника кода, используйте CreateOriginSchemeAccess метод.
Чтобы создать объект, который может использовать любую схему CodeConnectAccess , но ограничен портом, используйте CreateAnySchemeAccess метод.
Конструкторы
| Имя | Описание |
|---|---|
| CodeConnectAccess(String, Int32) |
Инициализирует новый экземпляр класса CodeConnectAccess. |
Поля
| Имя | Описание |
|---|---|
| AnyScheme |
Содержит строковое значение, представляющее подстановочный знак схемы. |
| DefaultPort |
Содержит значение, используемое для представления порта по умолчанию. |
| OriginPort |
Содержит значение, используемое для представления значения порта в URI, где был создан код. |
| OriginScheme |
Содержит значение, используемое для представления схемы в URL-адресе, в котором был создан код. |
Свойства
| Имя | Описание |
|---|---|
| Port |
Возвращает порт, представленный текущим экземпляром. |
| Scheme |
Возвращает схему URI, представленную текущим экземпляром. |
Методы
| Имя | Описание |
|---|---|
| CreateAnySchemeAccess(Int32) |
CodeConnectAccess Возвращает экземпляр, представляющий доступ к указанному порту с помощью любой схемы. |
| CreateOriginSchemeAccess(Int32) |
CodeConnectAccess Возвращает экземпляр, представляющий доступ к указанному порту с помощью схемы источника кода. |
| Equals(Object) |
Возвращает значение, указывающее, представляют ли два CodeConnectAccess объекта одну и ту же схему и порт. |
| GetHashCode() |
Служит хэш-функцией для определенного типа. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |