public bool ValidateUser(string userName, string password, string customerId)
        {
            try
            {
                //Membership.ApplicationName = customerId;

                var client = _clientRepository.FindClientByCustomerId(customerId);
                if (!client.IsActivated)
                {
                    return(false);
                }

                if (_membershipProvider.ValidateUser(userName, password))
                {
                    TenantConnectionProvider.DynamicString = client.ConnectionString;
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                throw new Exception("Error. Try again.");
            }
        }
        protected override Task <HttpResponseMessage> SendAsync(
            HttpRequestMessage request,
            CancellationToken cancellationToken)
        {
            var authHeader = request.Headers.Authorization;

            if (authHeader == null)
            {
                return(CreateResponse(request, cancellationToken));
            }

            if (authHeader.Scheme != BasicScheme)
            {
                return(CreateResponse(request, cancellationToken));
            }

            var encodedCredentials = authHeader.Parameter;
            var credentialBytes    = Convert.FromBase64String(encodedCredentials);
            var credentials        = Encoding.ASCII.GetString(credentialBytes);
            var credentialParts    = credentials.Split(AuthorizationHeaderSeparator);

            if (credentialParts.Length != 2)
            {
                return(CreateResponse(request, cancellationToken));
            }

            var username = credentialParts[0].Trim();
            var password = credentialParts[1].Trim();

            if (!_membershipProvider.ValidateUser(username, password))
            {
                return(CreateResponse(request, cancellationToken));
            }

            SetPrincipal(username);

            return(base.SendAsync(request, cancellationToken));
        }
Esempio n. 3
0
        public override bool TryAuthenticate(IServiceBase authService, string userName, string password)
        {
            try
            {
                var customerId = authService.RequestContext.GetHeader("CustomerId");
                var client     = _clientRepository.FindClientByCustomerId(customerId);
                if (!client.IsActivated)
                {
                    return(false);
                }

                if (_membershipProvider.ValidateUser(userName, password))
                {
                    TenantConnectionProvider.DynamicString = client.ConnectionString;
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Logging.Error(ex);
                throw new Exception("Error. Try again.", ex);
            }
        }
Esempio n. 4
0
 public bool ValidateCredentials(string username, string password)
 {
     return(_membershipProvider.ValidateUser(username, password));
 }