Determines at run time whether the current principal matches the principal specified by the current permission.
If no System.Security.SecurityException is raised, PrincipalPermission.Demand succeeds.
This method acts against the principal attached to the calling thread.
Prior to calling the PrincipalPermission.Demand method, it is necessary to set the current application domain's principal policy to the enumeration value System.Security.Principal.PrincipalPolicy.WindowsPrincipal. By default the principal policy is set to System.Security.Principal.PrincipalPolicy.UnauthenticatedPrincipal. If you do not set the principal policy to System.Security.Principal.PrincipalPolicy.WindowsPrincipal, a demand for principal permission will fail. The following code should be executed before the demand for principal permission occurs:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).