public Task <IAdaptedConnection> OnConnectionAsync(ConnectionAdapterContext context)
        {
            var authFeature = new WindowsAuthFeature();

            context.Features.Set <IWindowsAuthFeature>(authFeature);
            var adapted = new AuthenticationAdaptedConnection(context.ConnectionStream, authFeature);

            return(Task.FromResult <IAdaptedConnection>(adapted));
        }
Example #2
0
        public async Task OnConnectionAsync(ConnectionFilterContext context)
        {
            await _previous.OnConnectionAsync(context);

            var previousRequest = context.PrepareRequest;
            var feature         = new WindowsAuthFeature();
            var wrapper         = new WindowsAuthStreamWrapper(context.Connection, feature);

            context.Connection     = wrapper;
            context.PrepareRequest = features =>
            {
                previousRequest?.Invoke(features);
                features.Set(((WindowsAuthStreamWrapper)context.Connection).AuthFeature);
            };
        }
 public AuthenticationAdaptedConnection(Stream stream, WindowsAuthFeature authFeature)
 {
     _connectionStream = stream;
     _windowsAuth      = authFeature;
 }
 public WindowsAuthStreamWrapper(Stream inStream, WindowsAuthFeature authFeature)
 {
     _authFeature = authFeature ?? throw new ArgumentNullException(nameof(authFeature));
     _innerStream = inStream ?? throw new ArgumentNullException(nameof(inStream));
 }
Example #5
0
 public WindowsAuthStreamWrapper(Stream inStream, WindowsAuthFeature authFeature)
 {
     _authFeature = authFeature;
     _innerStream = inStream;
 }