職場でASP.NET Core MVCまたはWeb APIを使用してみたいのですが、認証と承認にはActive Directoryしかありません。オンプレミスのADでそれを解決する解決策はありますか、それともJavaに変更する必要がありますか?この質問はオリジナルではありませんが、簡単な回答をお願いします。
MicrosoftはSystem.DirectoryServices
のプレリリースバージョンをリリースしました。次のコマンドを使用して、NuGetパッケージマネージャーから取得できます。
Install-Package System.DirectoryServices -Version 4.5.0-preview1-25914-04
これまではこれでうまくいきました。
今日現在、 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のサンプルプロジェクト を作成しました。