public bool Authenticate(HttpRequestMessage request) { _log.Debug("Attempting to authenticate..."); var authHeader = request.Headers.Authorization; if (authHeader == null) { return(false); } var credentialParts = GetCredentialParts(authHeader); if (credentialParts.Length != ExpectedCredentialCount) { return(false); } return(_basicSecurityService.SetPrincipal(credentialParts[UsernameIndex], credentialParts[PasswordIndex])); }
public bool Authenticate(HttpRequestMessage request) { long tntId = 0; _log.Debug("Attempting to authenticate..."); var authHeader = request.Headers.Authorization; if (authHeader == null) { return(false); } var credentialParts = GetCredentialParts(authHeader); if (credentialParts.Length != ExpectedCredentialCount) { return(false); } // --- finding TenantID in route --- if (request.RequestUri.Segments.Length >= 5) { if (request.RequestUri.Segments[3].ToLower() == Constants.SpecialSegments.Tnt + "/") { // Tenant found. Determining Rights if (long.TryParse(request.RequestUri.Segments[4], out tntId)) { } } if (request.RequestUri.Segments[3].ToLower() == Constants.SpecialSegments.Common + "/") { tntId = -1; // Special number for use [/api/v1/common...] section. In this case rights will be just a [Member] } } // ------------------------------ return(_basicSecurityService.SetPrincipal(credentialParts[UsernameIndex], credentialParts[PasswordIndex], _basicSecurityService.SetTenantIdToMainTenantIdIfIts0(tntId))); }