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)

2 つの CodeConnectAccess オブジェクトが同じスキームおよびポートを表すかどうかを示す値を返します。

GetHashCode()

特定の型についてハッシュ関数として機能します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象