public XmlDocument XmlSamlAuthnRequest(Endpoint endpoint) { bool serviceOk = false; string sqlResponse = string.Empty; XmlDocument xmlDocument = new XmlDocument(); try { SqlMapper.EndpointMapParameters(endpoint, ref sqlService); System.Data.DataSet dataSet = sqlService.ExecuteReaders(); if (sqlService.SqlStatusOk) { string sqlRequest = sqlService.SqlParameters[RequestMap.Names.SqlMessage].DbValue.ToString(); sqlResponse = sqlService.SqlParameters[RequestMap.Names.SqlMessage].DbOutput; if (sqlRequest == sqlResponse) { endpoint = SqlMapper.EndpointMapData(dataSet); xmlDocument = SqlMapper.EndpointMapSamlRequest(endpoint); serviceOk = true; } } } catch (Exception ex) { serviceOk = false; sqlResponse = $"{sqlResponse} {ex.Message}"; LocalServiceLog.WriteEntry($"{sqlService.SqlStatusMessage} {sqlResponse}", EventLogEntryType.FailureAudit); } finally { if (serviceOk == false) { throw new Exception($"{sqlService.SqlStatusMessage} {sqlResponse}"); } } return(xmlDocument); }
public List <Endpoint> GetEndpoints() { bool serviceOk = false; string sqlResponse = string.Empty; List <Endpoint> endpoints = new List <Endpoint>(); try { SqlMapper.GetEndpointsMapParameters(ref sqlService); System.Data.DataSet dataSet = sqlService.ExecuteReaders(); if (sqlService.SqlStatusOk) { string sqlRequest = sqlService.SqlParameters[PtsLoginMap.Names.SqlMessage].DbValue.ToString(); sqlResponse = sqlService.SqlParameters[PtsLoginMap.Names.SqlMessage].DbOutput; if (sqlRequest == sqlResponse) { endpoints = SqlMapper.GetEndpointsMapData(dataSet); serviceOk = true; } } } catch (Exception ex) { serviceOk = false; sqlResponse = $"{sqlResponse} {ex.Message}"; LocalServiceLog.WriteEntry($"{sqlService.SqlStatusMessage} {sqlResponse}", EventLogEntryType.FailureAudit); } finally { if (serviceOk == false) { throw new Exception($"{sqlService.SqlStatusMessage} {sqlResponse}"); } } return(endpoints); }
protected virtual void Dispose(bool disposing) { if (!disposing) { return; } LocalServiceLog.Close(); if (sqlService == null) { return; } if (!sqlService.ExecuteCloseConnection()) { LocalServiceLog.WriteEntry(sqlService.SqlStatusMessage); } }
public XmlDocument XmlSamlAuthnResponse(Endpoint endpoint) { bool serviceOk = false; string sqlResponse = string.Empty; XmlDocument xmlDocument = new XmlDocument(); try { SqlMapper.EndpointMapParameters(endpoint, ref sqlService); System.Data.DataSet dataSet = sqlService.ExecuteReaders(); if (sqlService.SqlStatusOk) { string sqlRequest = sqlService.SqlParameters[RequestMap.Names.SqlMessage].DbValue.ToString(); sqlResponse = sqlService.SqlParameters[RequestMap.Names.SqlMessage].DbOutput; if (sqlRequest == sqlResponse) { AttributeType[] claims = SqlMapper.EndpointMapClaims(dataSet); endpoint = SqlMapper.EndpointMapData(dataSet); xmlDocument = SqlMapper.EndpointMapSamlResponse(endpoint, claims); serviceOk = true; } } } catch (Exception ex) { serviceOk = false; sqlResponse = $"{sqlResponse} {ex.Message}"; LocalServiceLog.WriteEntry($"{sqlService.SqlStatusMessage} {sqlResponse}", EventLogEntryType.FailureAudit); } finally { if (serviceOk == false) { xmlDocument = SqlMapper.EndpointMapSamlResponseError(sqlResponse); } //MUST ALWAYS return a SAML Authentication Response; Error includes only SAML Response Message required elements } return(xmlDocument); }
public Credential Authenticate(Credential login) { bool serviceOk = false; string sqlResponse = string.Empty; #pragma warning disable 168 System.Data.DataSet dataSet = sqlService.ExecuteReaders(); #pragma warning restore 168 try { SqlMapper.SelectLoginMapParameters(login, ref sqlService); if (sqlService.SqlStatusOk) { string sqlRequest = sqlService.SqlParameters[PtsLoginMap.Names.SqlMessage].DbValue.ToString(); sqlResponse = sqlService.SqlParameters[PtsLoginMap.Names.SqlMessage].DbOutput; if (sqlRequest == sqlResponse) { login = SqlMapper.SelectLoginMapData(dataSet); login.Authenticated = login.Active; serviceOk = true; } } } catch (Exception ex) { serviceOk = false; sqlResponse = $"{sqlResponse} {ex.Message}"; LocalServiceLog.WriteEntry($"{sqlService.SqlStatusMessage} {sqlResponse}", EventLogEntryType.FailureAudit); } finally { if (serviceOk == false) { throw new Exception($"{sqlService.SqlStatusMessage} {sqlResponse}"); } } return(login); }