前言
目前 .NET Core 的 System.DirectoryServices.Protocols 還不 Support 非 Windows 平台。
所以如果在 Mac 中使用的話,就會噴「System.PlatformNotSupportedException」這個錯誤,如下,
System.PlatformNotSupportedException: System.DirectoryServices.Protocols is not supported on this platform.
at System.DirectoryServices.Protocols.DirectoryIdentifier..ctor()
at System.DirectoryServices.Protocols.LdapDirectoryIdentifier..ctor(String server, Int32 portNumber)
解法
改用 Novell.Directory.Ldap.NETStandard
所以如果要真的跨平台的話,可以使用 Novell.Directory.Ldap.NETStandard 從 Nuget 加入套件。
使用上也很方便,可以參考 .NET Core LDAP authentication 這篇的說明來實作即可。
而目前我的需求只有簡單的給使用者及密碼來驗證是否正確,如下,
1 | //using Novell.Directory.Ldap; |
參考資料
Novell.Directory.Ldap.NETStandard
.NET Core LDAP authentication