Ejemplo n.º 1
0
 public Factory(RbacContext context) : base(context)
 {
     if (OutboundProxySession.Factory.ProxyToLocalHost)
     {
         ExTraceGlobals.ProxyTracer.TraceInformation(0, 0L, "ProxyToLocalHost is True, so we will always proxy back to ourselves.");
         if (OutboundProxySession.Factory.ProxyToLocalHostUris == null)
         {
             OutboundProxySession.Factory.ProxyToLocalHostUris = new Uri[]
             {
                 new Uri(HttpContext.Current.Request.Url, HttpRuntime.AppDomainAppVirtualPath)
             };
         }
         this.ProxyTargets = OutboundProxySession.Factory.ProxyToLocalHostUris;
         return;
     }
     OutboundProxySession.Factory.< > c__DisplayClassf CS$ < > 8__locals1 = new OutboundProxySession.Factory.< > c__DisplayClassf();
     CS$ < > 8__locals1.allowProxyingWithoutSsl = Registry.AllowProxyingWithoutSsl;
     CS$ < > 8__locals1.mailboxMajorVersion     = base.Context.MailboxServerVersion.Major;
     using (StringWriter decisionLogWriter = new StringWriter())
     {
         IList <EcpService> servicesInMailboxSite = base.Context.GetServicesInMailboxSite(ClientAccessType.Internal, delegate(EcpService service)
         {
             decisionLogWriter.WriteLine(service.Url);
             Version version = new ServerVersion(service.ServerVersionNumber);
             DecisionLogger decisionLogger = new DecisionLogger(decisionLogWriter)
             {
                 {
                     (service.AuthenticationMethod & AuthenticationMethod.WindowsIntegrated) == AuthenticationMethod.WindowsIntegrated,
                     Strings.ProxyServiceConditionWindowsAuth
                 },
                 {
                     version.Major == CS$ < > 8__locals1.mailboxMajorVersion,
                     Strings.ProxyServiceConditionMajorVersion(version.Major, CS$ < > 8__locals1.mailboxMajorVersion)
                 },
Ejemplo n.º 2
0
 protected LocalSession(RbacContext context, SessionPerformanceCounters sessionPerfCounters, EsoSessionPerformanceCounters esoSessionPerfCounters) : base(context, sessionPerfCounters, esoSessionPerfCounters)
 {
     this.IsCrossSiteMailboxLogon = context.IsCrossSiteMailboxLogon;
     foreach (string role in LocalSession.roleList)
     {
         this.logonTypeFlag <<= 1;
         this.logonTypeFlag  |= (base.IsInRole(role) ? 1 : 0);
     }
 }
Ejemplo n.º 3
0
        private RbacSession CreateSession()
        {
            RbacSession result;

            using (new AverageTimePerfCounter(EcpPerfCounters.AverageRbacSessionCreation, EcpPerfCounters.AverageRbacSessionCreationBase, true))
            {
                using (EcpPerformanceData.CreateRbacSession.StartRequestTimer())
                {
                    RbacContext rbacContext = new RbacContext(this);
                    RbacSession rbacSession = rbacContext.CreateSession();
                    RbacSettings.AddSessionToCache(this.CacheKey, rbacSession, true, true);
                    rbacSession.SessionStart();
                    result = rbacSession;
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
 public Factory(RbacContext context) : base(context)
 {
 }
Ejemplo n.º 5
0
 public ProxyLogonNeededFactory(RbacContext context) : base(context)
 {
 }
Ejemplo n.º 6
0
 private InboundProxySession(RbacContext context) : base(context, InboundProxySession.sessionPerfCounters, InboundProxySession.esoSessionPerfCounters)
 {
     this.originalCallerName = context.Settings.InboundProxyCallerName;
 }
Ejemplo n.º 7
0
 protected Factory(RbacContext context)
 {
     this.Context = context;
 }
Ejemplo n.º 8
0
 protected RbacSession(RbacContext context, SessionPerformanceCounters sessionPerfCounters, EsoSessionPerformanceCounters esoSessionPerfCounters) : base(context.Roles, context.Settings.CacheKey)
 {
     this.Context             = context;
     this.Settings            = context.Settings;
     this.sessionPerfCounters = (context.Settings.IsExplicitSignOn ? esoSessionPerfCounters : sessionPerfCounters);
 }
Ejemplo n.º 9
0
        static RbacContext()
        {
            RbacContext.EsoAllowedCmdlets = new List <RoleEntry>
            {
                new CmdletRoleEntry("Clear-ActiveSyncDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-ActiveSyncDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncDeviceClass", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncDeviceStatistics", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-ActiveSyncMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-ActiveSyncMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-ActiveSyncMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncOrganizationSettings", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-ActiveSyncOrganizationSettings", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-CalendarDiagnosticLog", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-CalendarNotification", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-CalendarNotification", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-CASMailbox", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-CASMailbox", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-ActiveSyncDeviceAccessRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-ActiveSyncDeviceAccessRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-ActiveSyncDeviceAccessRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-ActiveSyncDeviceAccessRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Disable-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Enable-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-InboxRule", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-RetentionPolicyTag", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-RetentionPolicyTag", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Clear-MobileDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MobileDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-MobileDevice", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MobileDeviceStatistics", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MobileDeviceMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-MobileDeviceMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MobileDeviceMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-MobileDeviceMailboxPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxAutoReplyConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxAutoReplyConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxCalendarConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxCalendarConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-CalendarProcessing", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-CalendarProcessing", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxFolder", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-MailboxFolder", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxCalendarFolder", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxCalendarFolder", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxFolderPermission", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxFolderPermission", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-MailboxFolderPermission", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxJunkEmailConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxJunkEmailConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxMessageConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxMessageConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MailboxRegionalConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-MailboxRegionalConfiguration", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-RoleAssignmentPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-RoleAssignmentPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Remove-RoleAssignmentPolicy", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("New-MailMessage", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MessageClassification", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MessageCategory", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-MessageTrackingReport", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Search-MessageTrackingReport", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-Recipient", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-SiteMailbox", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Clear-TextMessagingAccount", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Get-TextMessagingAccount", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Set-TextMessagingAccount", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Compare-TextMessagingVerificationCode", "Microsoft.Exchange.Management.PowerShell.E2010", null),
                new CmdletRoleEntry("Send-TextMessagingVerificationCode", "Microsoft.Exchange.Management.PowerShell.E2010", null)
            };
            RbacContext.EsoAllowedCmdlets.Sort(RoleEntry.NameComparer);
            string value = ConfigurationManager.AppSettings["ExchangeRunspaceConfigurationSnapinSet"];

            if (!string.IsNullOrEmpty(value))
            {
                try
                {
                    RbacContext.snapinSet = (SnapinSet)Enum.Parse(typeof(SnapinSet), value);
                    goto IL_6CD;
                }
                catch
                {
                    RbacContext.snapinSet = SnapinSet.Admin;
                    goto IL_6CD;
                }
            }
            RbacContext.snapinSet = SnapinSet.Admin;
IL_6CD:
            string value2 = ConfigurationManager.AppSettings["PullHostedTenantRbac"];

            if (!bool.TryParse(value2, out RbacContext.PullHostedTenantRbac))
            {
                RbacContext.PullHostedTenantRbac = false;
            }
            RbacContext.clientAppId = RbacContext.GetClientApplication();
        }
Ejemplo n.º 10
0
 private StandardSession(RbacContext context) : base(context, StandardSession.sessionPerfCounters, StandardSession.esoSessionPerfCounters)
 {
 }
Ejemplo n.º 11
0
 private OutboundProxySession(RbacContext context, IEnumerable <Uri> serviceUrls) : base(context, OutboundProxySession.sessionPerfCounters, OutboundProxySession.esoSessionPerfCounters)
 {
     this.ServiceUrls          = serviceUrls.ToArray <Uri>();
     this.serviceUrlProxyQueue = new ProxyQueue <Uri>(this.ServiceUrls);
 }