Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Initialisiert eine neue Instanz der NetCodeGroup-Klasse.
Namespace: System.Security.Policy
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Sub New ( _
membershipCondition As IMembershipCondition _
)
'Usage
Dim membershipCondition As IMembershipCondition
Dim instance As New NetCodeGroup(membershipCondition)
public NetCodeGroup (
IMembershipCondition membershipCondition
)
public:
NetCodeGroup (
IMembershipCondition^ membershipCondition
)
public NetCodeGroup (
IMembershipCondition membershipCondition
)
public function NetCodeGroup (
membershipCondition : IMembershipCondition
)
Parameter
- membershipCondition
Eine Mitgliedschaftsbedingung, die Beweise überprüft, um zu ermitteln, ob diese Codegruppe Sicherheitsrichtlinien für den Codezugriff anwendet.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der membershipCondition-Parameter ist NULL (Nothing in Visual Basic). |
|
Der Typ des membershipCondition-Parameters ist ungültig. |
Hinweise
Wenn eine NetCodeGroup erstellt wird, enthält sie die in folgender Tabelle aufgeführten Standardregeln für den Verbindungszugriff.
Schema |
Regel |
|---|---|
file |
Es ist kein Verbindungszugriff auf den ursprünglichen Server zulässig. |
http |
Der HTTP- und HTTPS-Zugriff mit dem ursprünglichen Port ist zulässig. |
https |
Der HTTPS-Zugriff mit dem ursprünglichen Port ist zulässig. |
Die Scope-Eigenschaft ist auf System.Security.Policy.CodeGroupGrantScope.Assembly festgelegt.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie eine NetCodeGroup erstellt und CodeConnectAccess-Objekte für Code hinzugefügt werden, die mit dem HTTP-Schema gedownloadet wurden.
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(@"https://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("https://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("https://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
Plattformen
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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
NetCodeGroup-Klasse
NetCodeGroup-Member
System.Security.Policy-Namespace