電子メールIDを入力として取得し、Active Directoryを検索してそのユーザーが存在し、フラグを返す.NET Webサービスを作成する方法。私はADを照会するために使用されるユーザーIDとパスワードを持っています。これを行う方法とそれ以外に何が必要なのかを記述してください。電子メールIDを入力として使用してActive Directoryを検索する.NET Webサービス?
答えて
WCFを使用すると、これを簡単に実行できます。
ステップ1 - これは、彼らが必要な場合がありますパラメータを含むあなたが望むあなたの業務を、定義するサービス契約
を定義します。あなたが必要な場合があります正確に何を知らない、私はちょうど推測し、このような何かを思い付いた:
using System.ServiceModel;
namespace SearchAD
{
[ServiceContract]
public interface ISearchADService
{
[OperationContract]
bool EMailAddressExists(string emailAddress);
}
}
ステップ2 - サービスクラスを実装
これは(骨に「肉」を追加することを意味しますあなたは(自分のドメイン名、ユーザー名とパスワードを取得する必要があります - もちろん
using System;
using System.DirectoryServices.AccountManagement;
namespace SearchAD
{
public class SearchADService : ISearchADService
{
public bool EMailAddressExists(string emailAddress)
{
// establish the Active Directory domain context to search in
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YOURDOMAIN", userName, password);
// define your "query-by-example" user to search for
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.EmailAddress = emailAddress;
// instantiate the searcher to find that user
PrincipalSearcher findUserByMail = new PrincipalSearcher(qbeUser);
// search for the user - did we find one?
UserPrincipal userByEmail = findUserByMail.FindOne() as UserPrincipal;
return userByEmail != null;
}
}
}
、このセットアップで: - サービス契約は)あなたが実際にあなたが何をしようとして行う場所ですActive Directoryへの問い合わせ用)どこか - 設定ファイル、あなたのサービスクラスの定数 - 何でもあなたのために働きます!
これで、電子メールアドレスを取得し、Active Directoryでその電子メールアドレスに一致するユーザーアカウントを検索するWCFサービスが基本的にあります。見つかった場合はtrue
が返されます。それ以外の場合はfalse
となります。
今、あなたのWCFサービスで、あなたが今だけ(IISまたは自己ホスティングで)それをホストする方法、およびそれがサービスを利用するためのクライアントを作成する方法を知っておく必要があります - しかし、それはただのです非常に基本的なWCF know-既にノウハウを持っていない場合は、必要な情報やチュートリアルを見つけるのに苦労しないでください!
Active Directoryの検索に使用されるメカニズムは、.NET 3.5以降の一部であるSystem.DirectoryServices.AccountManagement
名前空間です。ここではそれについてのすべてを読む:
ありがとうございます。これは絶対にうまくいく。ところで、私はSOAP UIツールを使ってWebサービスをテストすることができませんでした。次に、設定ファイルのbasichttpbindingへのデフォルトバインディングを変更しました。 SOAP UIツールがそれを検出し、正常にテストすることができました。 WebServiceStudioと同じ状況でした。 – user536652
- 1. C# - Active Directoryユーザーのすべての電子メールアドレスを検索
- 2. Windowsサービスを使用して電子メールを送信する
- 3. Azure Active DirectoryをSpringブートRESTサービスのOAUTH2認証サービスとして使用する
- 4. MVC asp.net IDを使用してセカンダリ電子メールを追加
- 5. Office 365 REST APIを使用して電子メールの送信者アドレスを検索
- 6. PHPがテキストエリア入力を検証して電子メールで送信する
- 7. Exchange Webサービス:受信者に送信された電子メールを検索する
- 8. C#を使用してHTML電子メールでVMLを検証する
- 9. Javaを使用してActive Directoryのユーザーとグループをインポートする
- 10. ngTagsInputは電子メールとして入力タイプをサポートしていません
- 11. Active Directoryを使用した.NETのユーザーグループと役割の管理
- 12. Azure Active Directoryをログインブローカーとして使用できますか?
- 13. セカンダリ電子メールアドレスを使用してプライマリSMTPアドレスを検索するEWS
- 14. .Netを使用して切断時にActive Directoryを認証する
- 15. APIを使用してStackExchangeユーザーの電子メールIDを取得する方法
- 16. HTML電子メールのボタンを電子メールのフォームとして
- 17. Active Directory - Mac OS Xワークステーションを検索
- 18. モバイルアプリケーションを使用して電子メールを送信する
- 19. 「隠しフォーム」を使用して電子メールを検証しますか?
- 20. ユーザー名か電子メールIDを使用してログインする方法
- 21. Active DirectoryとSharePointのログインに電子メールアドレスを使用できますか?
- 22. Active Directory検索 - マネージャによるフィルタ
- 23. WebDAVを使用して電子メールの件名を取得し、.NET
- 24. Exchange Webサービスで電子メール会話を検出
- 25. .NETを使用した電子メールの送信
- 26. Active Directoryでプライマリ以外の電子メールアドレスを照会しています
- 27. FQLで電子メールでユーザーを検索
- 28. EWS Exchangeを使用して電子メールを作成し、別の電子メールを添付してください。
- 29. C#を使用しているActive Directoryで疑問がある
- 30. Jenkins - 入力パラメータに基づいて電子メールをトリガーする
のC#、VB.NETの?どちらの場合も、クイックグーグルのもう一端にはサンプルコードが豊富にあります。何らかの理由ですでに機能していないコードが既に用意されていますか?そうでない場合は、まずDirectoryServicesを調べることをお勧めします。 –
従来の技術である「ASP.NET Webサービス」は使用しないでください。新しい開発にはWCFを使用します。 –