web-dev-qa-db-ja.com

ASP.NET CoreおよびオンプレミスAD認証

職場でASP.NET Core MVCまたはWeb APIを使用してみたいのですが、認証と承認にはActive Directoryしかありません。オンプレミスのADでそれを解決する解決策はありますか、それともJavaに変更する必要がありますか?この質問はオリジナルではありませんが、簡単な回答をお願いします。

9
Sándor Hatvani

MicrosoftはSystem.DirectoryServicesのプレリリースバージョンをリリースしました。次のコマンドを使用して、NuGetパッケージマネージャーから取得できます。

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

これまではこれでうまくいきました。

9
p4ulinux

今日現在、 System.DirectoryServicesはASP.NET Coreではまだ使用できません。あなたはもっと読むことができます ここ

それまでの間、 Novell.Directory.Ldap.NETStandard 。例えば、

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;
}

動く部分が多すぎるので GitHubのサンプルプロジェクト を作成しました。

7
Win