From 46b737434e64bdc3a066ede7d57f7736b00d3f49 Mon Sep 17 00:00:00 2001 From: Marcio Date: Thu, 25 Jul 2024 00:04:43 -0300 Subject: [PATCH] Add ldapS option --- .../ActiveDirectoryToRestApi.csproj | 2 +- .../Configurations/LdapConfigs.cs | 2 ++ src/ActiveDirectoryToRestApi/Program.cs | 7 +++++- .../appsettings.Development.json | 22 ++++++++++++++++- src/ActiveDirectoryToRestApi/appsettings.json | 24 ++++++++++++++++++- 5 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/ActiveDirectoryToRestApi/ActiveDirectoryToRestApi.csproj b/src/ActiveDirectoryToRestApi/ActiveDirectoryToRestApi.csproj index e17b833..bd16631 100644 --- a/src/ActiveDirectoryToRestApi/ActiveDirectoryToRestApi.csproj +++ b/src/ActiveDirectoryToRestApi/ActiveDirectoryToRestApi.csproj @@ -9,7 +9,7 @@ d52504e9-ea6e-4152-a52e-467ca002e47c $(PackageVersion) $(PackageVersion) - 1.0.0.2 + 1.0.0.3 diff --git a/src/ActiveDirectoryToRestApi/Configurations/LdapConfigs.cs b/src/ActiveDirectoryToRestApi/Configurations/LdapConfigs.cs index 07df7c7..dd7c3e5 100644 --- a/src/ActiveDirectoryToRestApi/Configurations/LdapConfigs.cs +++ b/src/ActiveDirectoryToRestApi/Configurations/LdapConfigs.cs @@ -3,6 +3,8 @@ public class LdapConfigs { public string Server { get; set; } + public int Port { get; set; } + public bool UseSSL { get; set; } public string DomainName { get; set; } public string User { get; set; } public string Pass { get; set; } diff --git a/src/ActiveDirectoryToRestApi/Program.cs b/src/ActiveDirectoryToRestApi/Program.cs index 26fb5ee..74450b2 100644 --- a/src/ActiveDirectoryToRestApi/Program.cs +++ b/src/ActiveDirectoryToRestApi/Program.cs @@ -30,12 +30,17 @@ builder.Services.AddSwaggerGen(s => builder.Services.AddSingleton(provider => { var configs = builder.Configuration.GetSection(nameof(LdapConfigs)).Get(); - var endpoint = new LdapDirectoryIdentifier(configs.Server, false, false); + var endpoint = new LdapDirectoryIdentifier(configs.Server, configs.Port, configs.UseSSL ? true : false, false); var ldapConnection = new LdapConnection(endpoint, new NetworkCredential($"{configs.User}@{configs.DomainName}", configs.Pass)) { AuthType = AuthType.Basic }; + if (configs.UseSSL) + { + ldapConnection.SessionOptions.SecureSocketLayer = true; + ldapConnection.SessionOptions.VerifyServerCertificate = (con, cert) => true; + } ldapConnection.SessionOptions.ReferralChasing = ReferralChasingOptions.None; ldapConnection.Bind(); return ldapConnection; diff --git a/src/ActiveDirectoryToRestApi/appsettings.Development.json b/src/ActiveDirectoryToRestApi/appsettings.Development.json index 0c208ae..fef63ff 100644 --- a/src/ActiveDirectoryToRestApi/appsettings.Development.json +++ b/src/ActiveDirectoryToRestApi/appsettings.Development.json @@ -2,7 +2,27 @@ "Logging": { "LogLevel": { "Default": "Information", - "Microsoft.AspNetCore": "Warning" + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System.Net.Http.HttpClient": "Warning" + }, + "Console": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System.Net.Http.HttpClient": "Warning" + }, + "FormatterName": "json", + "FormatterOptions": { + "SingleLine": true, + "IncludeScopes": false, + "TimestampFormat": "dd/MM/yyyy HH:mm:ss", + "UseUtcTimestamp": false, + "JsonWriterOptions": { + "Indented": false + } + } } } } diff --git a/src/ActiveDirectoryToRestApi/appsettings.json b/src/ActiveDirectoryToRestApi/appsettings.json index e5cb290..07e17cc 100644 --- a/src/ActiveDirectoryToRestApi/appsettings.json +++ b/src/ActiveDirectoryToRestApi/appsettings.json @@ -2,12 +2,34 @@ "Logging": { "LogLevel": { "Default": "Information", - "Microsoft.AspNetCore": "Warning" + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System.Net.Http.HttpClient": "Warning" + }, + "Console": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information", + "System.Net.Http.HttpClient": "Warning" + }, + "FormatterName": "json", + "FormatterOptions": { + "SingleLine": true, + "IncludeScopes": false, + "TimestampFormat": "dd/MM/yyyy HH:mm:ss", + "UseUtcTimestamp": false, + "JsonWriterOptions": { + "Indented": false + } + } } }, "AllowedHosts": "*", "LdapConfigs": { "Server": "192.168.100.25", + "Port": 636, + "UseSSL": true, "DomainName": "AD", // (pre-Windows 2000) "User": "ldapAdmin", "Pass": "Thi$1sMyPassw0rd",