Microsoft.Exchange.WebServices (EWS) を使用して電子メール アカウントにアクセスする Windows サービスを作成しました。現在、電子メール アカウントの資格情報は、Windows サービスのソース コードにハード コードされています。私の質問は、電子メールの資格情報に関する限り、ここでのベストプラクティスは何ですか? Windows サービスのソース コードにハード コードされているので、そのままにしておく必要がありますか? メールのパスワードを変更するとしたら、サービスのソース コードを変更する必要があります。ベスト プラクティスに関する洞察をいただければ幸いです。
2 に答える
あるアカウントを使用して別のアカウントの詳細にアクセスする場合は、偽装が適しています。しかし、偽装者の資格情報を提供する必要があり、同じ問題に遭遇するため、それはあなたが抱えていると思う問題を解決しません。
サービスは EWS 経由以外でデータにアクセスしますか? なら、それを使おう。そうでない場合は、プロジェクトのプロパティを使用して、ユーザー名、パスワード、およびドメインのアプリケーション設定を定義します。次に app.config を調整します
Properties.Settings.Default.InterAcctDirectory
(C#) ;を使用して、実行時に設定にアクセスできます。または (VB)My.Settings
私は最近、似たようなものを開発しました。ews の偽装を使用します。そのため、サービスが実行されている資格情報を使用できます。そしてそれがどのように機能するか...通常のドメインユーザーを作成し、そのユーザーに偽装権限を設定します。--- 申し訳ありませんが、携帯電話から書いています。それ以外の場合は、msdn サイトへのリンクを投稿しますが、検索エンジンがそのサイトを見つけると確信しています --- service.UseDefaultCredentials = true とサービスを設定するよりも。したがって、私のコードを実際の構文に修正すれば、パスワードを保存する必要はありません。ターゲット メールボックスは、任意の種類の構成から取得できます。これがお役に立てば幸いです。