DetermineApplicationTrustInternal() static private method

static private DetermineApplicationTrustInternal ( ActivationContext activationContext, TrustManagerContext context ) : ApplicationTrust
activationContext ActivationContext
context TrustManagerContext
return ApplicationTrust
示例#1
0
        public static bool DetermineApplicationTrust(ActivationContext activationContext, TrustManagerContext context)
        {
            if (activationContext == null)
            {
                throw new ArgumentNullException("activationContext");
            }
            AppDomainManager domainManager = AppDomain.CurrentDomain.DomainManager;

            if (domainManager != null)
            {
                HostSecurityManager hostSecurityManager = domainManager.HostSecurityManager;
                if (hostSecurityManager != null && (hostSecurityManager.Flags & HostSecurityManagerOptions.HostDetermineApplicationTrust) == HostSecurityManagerOptions.HostDetermineApplicationTrust)
                {
                    ApplicationTrust applicationTrust = hostSecurityManager.DetermineApplicationTrust(CmsUtils.MergeApplicationEvidence((Evidence)null, activationContext.Identity, activationContext, (string[])null), (Evidence)null, context);
                    if (applicationTrust == null)
                    {
                        return(false);
                    }
                    return(applicationTrust.IsApplicationTrustedToRun);
                }
            }
            ApplicationTrust applicationTrustInternal = ApplicationSecurityManager.DetermineApplicationTrustInternal(activationContext, context);

            if (applicationTrustInternal == null)
            {
                return(false);
            }
            return(applicationTrustInternal.IsApplicationTrustedToRun);
        }