Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposing)
     {
         return;
     }
     LocalServiceLog.Close();
     if (sqlService == null)
     {
         return;
     }
     if (!sqlService.ExecuteCloseConnection())
     {
         LocalServiceLog.WriteEntry(sqlService.SqlStatusMessage);
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }