You are creating a new security policy for an application domain. You write the following lines of
code. PolicyLevel ^policy = PolicyLevel::CreateAppDomainLevel();
PolicyStatement ^noTrustStatement =
gcnew PolicyStatement(
policy->GetNamedPermissionSet(“Nothing”)); PolicyStatement ^fullTrustStatement =
gcnew PolicyStatement(
policy->GetNamedPermissionSet(“FullTrust”)); You need to arrange code groups for the policy so
that loaded assemblies default to the Nothing permission set. If the assembly originates from a
trusted zone, the security policy must grant the assembly the FullTrust permission set. Which
code segment should you use?
A. CodeGroup ^group1 = gcnew FirstMatchCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement); CodeGroup ^group2 = gcnew UnionCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement); group1->AddChild(group2);
B. CodeGroup ^group1 = gcnew FirstMatchCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement); CodeGroup ^group2 = gcnew UnionCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement); group1->AddChild(group2);
C. CodeGroup ^group = gcnew UnionCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement);
D. CodeGroup ^group = gcnew FirstMatchCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement);
Answer: B
code. PolicyLevel ^policy = PolicyLevel::CreateAppDomainLevel();
PolicyStatement ^noTrustStatement =
gcnew PolicyStatement(
policy->GetNamedPermissionSet(“Nothing”)); PolicyStatement ^fullTrustStatement =
gcnew PolicyStatement(
policy->GetNamedPermissionSet(“FullTrust”)); You need to arrange code groups for the policy so
that loaded assemblies default to the Nothing permission set. If the assembly originates from a
trusted zone, the security policy must grant the assembly the FullTrust permission set. Which
code segment should you use?
A. CodeGroup ^group1 = gcnew FirstMatchCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement); CodeGroup ^group2 = gcnew UnionCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement); group1->AddChild(group2);
B. CodeGroup ^group1 = gcnew FirstMatchCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement); CodeGroup ^group2 = gcnew UnionCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement); group1->AddChild(group2);
C. CodeGroup ^group = gcnew UnionCodeGroup(
gcnew ZoneMembershipCondition(SecurityZone::Trusted),
fullTrustStatement);
D. CodeGroup ^group = gcnew FirstMatchCodeGroup(
gcnew AllMembershipCondition(),
noTrustStatement);
Answer: B
No comments:
Post a Comment