CodeConnectAccess クラス
アセンブリ: mscorlib (mscorlib.dll 内)


このクラスは、実行コードをダウンロード元サイトに接続する方法を制御するために NetCodeGroup クラスと共に使用されます。これらのクラスにより、元のサイトにアクセスする場合に使用可能なスキームおよびポートを管理する、実行コードに与えられた WebPermission をプログラムで制御できます。コードのダウンロード元 URL のスキームに基づいて許可されたスキームおよびポートを指定できます。
コードの元のスキームに基づいて CodeConnectAccess オブジェクトを作成するには、CreateOriginSchemeAccess メソッドを使用します。
すべてのスキームを使用できる (ただし、ポートごとに制約を受ける) CodeConnectAccess オブジェクトを作成するには、CreateAnySchemeAccess メソッドを使用します。

NetCodeGroup オブジェクトを作成し、そのオブジェクトをユーザー ポリシー レベルに追加するコード例を次に示します。
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(); }
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() throws ApplicationException { final 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.get_Current(); if (level.get_Label().Equals(userPolicyLevel)) { break; } } if (!(level.get_Label().Equals(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.set_Name("ContosoHttpCodeGroup"); codeGroup.set_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.get_RootCodeGroup().AddChild(codeGroup); // Save the changes to the policy level. System.Security.SecurityManager.SavePolicy(); } //SetNetCodeGroupAccess

System.Security.Policy.CodeConnectAccess


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CodeConnectAccess クラスのページへのリンク