2011-01-24 9 views
0

ユーザーに関する情報を管理し、データをSQL Serverに保存するアプリケーションを開発しています。私は何とかこのアプリケーションをActive Directoryに接続したいので、このアプリケーションが行うすべての変更はActive Directoryにも反映されます(新しいユーザーを追加すると、Activeにも追加されますディレクトリ)c#appとActive Directoryの同期

可能ですか?もしそうなら、どちらが私の選択肢ですか?事前

答えて

0

おかげで、私はこの問題を解決するために選んだ道は、私は私のユーザーオブジェクトを保存したときにトリガされたイベントを追加することでした。このイベントのリスナーは、Active Directoryに更新を送信します。私の場合は、Active Directoryと一方向の同期を行っていましたが、それはベストエフォート型の試みでもありました。その周りの信頼性をさらに高める必要がある場合は、トランザクション内でSQL更新をラップし、アクティブなディレクトリが更新された後にコミットするだけです。

Active Directoryとの双方向の同期が必要な場合は、Active Directoryでバックグラウンド同期を行って、ユーザーを繰り返し処理し、ADで更新を確認する必要があります。

0

ADとの片方向同期を行っている場合、私はAaronに、Trigger in SQLサーバーが必要であることに同意します。このソリューションでは、すでに作成されたユーザーアカウントや、ユーザー名やパスワードがAD複雑性ルールを満たさないなど、いくつかの問題が発生する可能性があります。エラーを記録するには、いくつかの方法を見つける必要があります。データベースアカウントの初期プロビジョニングを行うツールが必要な場合もあります。

双方向同期を行う場合は、DirSyncをお読みください。おそらく、NTサービスを作成してそれを行う必要があります。私はあなたのデータベースにパスワードを保存しないことを願っています。 Windows認証を使用することを強くお勧めします。パスワードを同期する必要がある場合は、独自のpasswordsyncを作成して、マシンのすべてのドメインコントローラにインストールする必要があります。

エンタープライズ向けソリューションを開発する場合は、Microsoftの既存のメタディレクトリソリューション製品(MIISILMFIM)を参照する必要があります。

名前が異なる以外はすべて同じです。多くの企業がこれをメタディレクトリソリューションとして採用しています。アイデンティティ同期を行うために、提供されたインフラストラクチャを活用するための拡張機能を作成するだけです。

+0

私はFIMに関する情報を確認していましたが、実際にどのように使用するか、実装することはできません。 Windowsベースのアプリケーションを入力として使用してユーザーやグループを管理できますか? – pepersview

4

しないでください。 ADをユーザーベースの正式なコピーとし、のユーザーに常にをADで作成してからSQLに伝播させます。ユーザーを別のパス(SQL最初)で追加することで、セキュリティに関して膨大な数のワームを開くことができます。ユーザーがSQLではなくADで定義されている場合、正確にtahtユーザーは何ですか?彼はどうやってログインできますか?彼はどのグループに属していますか?彼はこのリソースまたはそのリソースへのアクセスを許可するかどうかを決めましたか?さまざまな特性を持つSQLでAD にユーザーが追加された後、調整する必要があります。

は、アプリケーションを修正しは常に ADポリシーとセキュリティ要件(パスワードの複雑さは最も簡単な例である)に準拠して、ADでユーザを作成します。次に、ADをSQLと同期させます。

+0

+1私は、ワームが最初に手に入ることがあることを見てきました。ADをアプリケーションに最適なものにすることは、他の方法よりもはるかに少ない作業です。 –

+0

そして、私は(ADで許されている)ユーザー、親指を盗んだユーザー、すべてのAD同期悪夢の母親、SID変更操作(ドメイン間でのアカウントの移行:http://msdn.microsoft.com/ en-us/library/ms679833%28v = vs.85%29.aspx)。 –

+0

それで、ADに自分のアプリを持つユーザーを作成するにはどうすればいいですか? DをSQLと同期させますか?ありがとう – pepersview

関連する問題