public WindowsStreamSecurityUpgradeProvider(WindowsStreamSecurityBindingElement bindingElement,
                                                    BindingContext context, bool isClient)
            : base(context.Binding)
        {
            ExtractGroupsForWindowsAccounts = TransportDefaults.ExtractGroupsForWindowsAccounts;
            ProtectionLevel = bindingElement.ProtectionLevel;
            Scheme          = context.Binding.Scheme;
            _isClient       = isClient;
            _listenUri      = TransportSecurityHelpers.GetListenUri(context.ListenUriBaseAddress, context.ListenUriRelativeAddress);

            SecurityCredentialsManager credentialProvider = context.BindingParameters.Find <SecurityCredentialsManager>();

            if (credentialProvider == null)
            {
                //if (isClient)
                //{
                //    credentialProvider = ClientCredentials.CreateDefaultCredentials();
                //}
                //else
                //{
                credentialProvider = new ServiceCredentials(); //ServiceCredentials.CreateDefaultCredentials();
                //}
            }

            if (credentialProvider is ServiceCredentials)
            {
                ServiceCredentials serviceCred = (ServiceCredentials)credentialProvider;
                LdapSettings = serviceCred.WindowsAuthentication.LdapSetting;
            }
            _securityTokenManager = credentialProvider.CreateSecurityTokenManager();
        }
Exemple #2
0
 protected WindowsStreamSecurityBindingElement(WindowsStreamSecurityBindingElement elementToBeCloned)
     : base(elementToBeCloned)
 {
     _protectionLevel = elementToBeCloned._protectionLevel;
 }