owin.orgに基づいたVS 2013で導入された新しい認証システムのLDAPサポートの実装方法を知っていますか?VS2013での新しい認証システムのLDAPサポート(owin(owin.org)に基づく)
フォーム認証を使用して自分のプロバイダを作成しましたが、それ以上は動作しません。
これを拡張する方法も非常に歓迎されます。私が見ているのは、Google、Twitter、Facebookなどの多くのoauthプロバイダをサポートするために作られたものです。
owin.orgに基づいたVS 2013で導入された新しい認証システムのLDAPサポートの実装方法を知っていますか?VS2013での新しい認証システムのLDAPサポート(owin(owin.org)に基づく)
フォーム認証を使用して自分のプロバイダを作成しましたが、それ以上は動作しません。
これを拡張する方法も非常に歓迎されます。私が見ているのは、Google、Twitter、Facebookなどの多くのoauthプロバイダをサポートするために作られたものです。
実際はかなり簡単です。 CheckPasswordAsync method in the provided UserManagerを無効にするだけです。 (完全な開示、それは私のブログの投稿です)。
public class ApplicationUserManager : UserManager<ApplicationUser> {
//...SNIP...
public override async Task<bool> CheckPasswordAsync(ApplicationUser user, string password)
{
return await Task.Run(() => {
_context = new PrincipalContext(ContextType.Domain);
return _context.ValidateCredentials(user.UserName, password, ContextOptions.Negotiate)
});
}
}
これは非常に立派な方法ですが、うまくいくはずです。
'Task.Run'を使用すると、ASP.NETのパフォーマンスが低下します。代わりに 'Task.FromResult'を使って、完了した' Task'を返してください。 –
@PauloMorgado Tak.RunとTask.FromResultのパフォーマンスに関する詳細情報へのリンクがありますか? –
私は[curation](http://curah.microsoft.com/45553/asyncawait-general)にいくつかあります。 [PFXチームのブログ](http://blogs.msdn.com/b/pfxteam/)と[Stephen Clearlyのブログ](http://blog.stephencleary.com/)にもっと詳しく載っています。なぜあなたはASP.NETアプリケーション上で 'Task.Run'を呼び出すのが良いと思いますか? –
チェックアウトしましたか:http://blogs.msdn.com/b/webdev/archive/2014/02/21/using-claims-in-your-web-app-is-easier-with-the -new-owin-security-components.aspx – Saravanan