Sándor Hatvani
Sándor Hatvani

Reputation: 465

ASP.NET Core and on premise AD authentication

I'd like to try and use ASP.NET Core MVC or Web API at my workplace but we have just Active Directory to authentication and authorization. Is there any solution to solve it with an on premise AD or we have to change for Java? I know this question is not original but I'd like to get a simple answer to it, please.

Upvotes: 11

Views: 9511

Answers (2)

Win
Win

Reputation: 62290

As of today, System.DirectoryServices is not available in ASP.NET Core yet. You can read more here.

In the meantime, you can use Novell.Directory.Ldap.NETStandard. For example,

public bool ValidateUser(string domainName, string username, string password)
{
    string userDn = $"{username}@{domainName}";
    try
    {
        using (var connection = new LdapConnection {SecureSocketLayer = false})
        {
            connection.Connect(domainName, LdapConnection.DEFAULT_PORT);
            connection.Bind(userDn, password);

            if (connection.Bound)
                return true;
        }
    }
    catch (LdapException ex)
    {
        // Log exception
    }
    return false;
}

Since it has too many moving pieces, I have created a sample project at GitHub.

Upvotes: 10

p4ulinux
p4ulinux

Reputation: 339

Microsoft has released pre-release version for System.DirectoryServices. You can get it from NuGet package manager using this command:

Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04

This is working fine for me till now.

Upvotes: 12

Related Questions