2016-05-19 6 views
2

にDirectoryServicesでの作業。いくつかの* .csファイルにSystem.DirectoryServicesとSystem.DirectoryServices.AccountManagementの参照があり、LDAPに問い合わせることができます。 RC2でProject.jsonファイルに参照を追加する方法はわかりません。私がしようとするものはすべて私にもっと誤りを与えます。どんな助けもありがとうございます。私はRC2に私のASPNETコアRC1のアプリケーションをアップグレードしていASP.NETコア

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0-rc2-3002702", 
     "type": "default" 
    }, 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview1-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final", 
    "Newtonsoft.Json": "8.0.3", 
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final", 
    "System.Linq": "4.0.1-beta-23516", 
    "System.Linq.Queryable": "4.0.1-beta-23516" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    }, 
    "Microsoft.Extensions.SecretManager.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": "portable-net45+win8+dnxcore50" 
    }, 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview1-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
    } 
} 
+0

ADをID認証システムで使用しているのですかADだけを照会していますか? –

答えて

2

新しいCoreCLRは現時点ではこのライブラリをサポートしていません。詳細については、open GitHub issueこちらをご覧ください。

このアプリケーションをWindowsサーバで実行する予定がある場合は、そのフレームワークに「net452」を指定して、フレームワークを追加することができます(認証システムにADだけを使用している場合は回避策が提示されます)。その下のアセンブリ。

"frameworks": { 
    "net452": { 
    "frameworkAssemblies": { 
     "System.DirectoryServices": "4.0.0.0", 
     "System.DirectoryServices.AccountManagement": "4.0.0.0" 
    } 
    } 
}, 
+1

私はそのGitHubスレッドに投稿した回避策に言及してくれてありがとう!それは私によく役立った。私はそれを読むことを提案しようとしていたが、あなたはそれに私を打ち負かす。 –

+0

@ClintBああ、同じクリントB?投稿していただきありがとうございます!私は社内アプリケーションのためにそれを自分で使用することになりました - 私は多くの頭痛を救った。 –

+0

クール!私はそれが助けてうれしい!あなたは私の[質問](http://stackoverflow.com/questions/37330500/asp-net-core-rc2-cant-find-html-encoder-implementation)に関する洞察を持っていますか? –

1

あなたは​​
互換性のある.NETランタイムを使用することができます:.NETのコア、.NET Frameworkの4.6を、...(マイクロソフトのActive Directoryを含む
それは、任意のLDAPプロトコル互換性のあるディレクトリサーバーに対して動作します )。

private static bool LoginLdap(string username, string password) 
    { 
     try 
     { 
      using (var conn = new LdapConnection()) 
      { 
       conn.Connect("<LdapHost>", 389); 
       conn.Bind(LdapConnection.Ldap_V3, $"<yourDomain>\\{username}", password); 
      } 
      return true; 
     } 
     catch (LdapException) 
     { 
      return false; 
     }    
    } 

詳細情報については、この問題を読んで:Support for System.DirectoryServices
それは私に適しています。 (.NET Core 1.1.1)

1

あなたはhttps://www.nuget.org/packages/System.DirectoryServices.AccountManagement/4.5.0-preview1-25914-04からnugetパッケージ(プレビュー版)などNETのコアアプリでSystem.DirectoryServices.AccountManagementをインストールすることができ、上記答えます。インストールが完了したら、次のように簡単にADユーザーを認証するための呼び出しを作成できます。

public static bool ValidateCredentials(string userName, string password) 
{ 
    try 
    { 
     using (var adContext = new PrincipalContext(ContextType.Domain, "YOUR_AD_DOMAIN")) 
     { 
      return adContext.ValidateCredentials(userName, password); 
     } 
    } 
    catch(Exception ex) 
    { 
     throw ex; 
    } 
} 
関連する問題