2011-08-09 10 views
0

System.DirectoryServices.AccountManagementを使用して基本的なAD機能を実行するための簡単なコードサンプル以外に、一般的なガイドラインがありますか。私はプロジェクトのスタンドアロンデータベースを持っています。.Netでの承認のためのActive Directoryの使用

プロジェクトをユーザーに割り当てることができます。 UserPrincipleName、識別名、GUID、またはSIDをデータベースに格納する必要がありますか?

プロジェクトの一部は、特定の部門の従業員に限定されています。部門ごとに簡単なADグループを作成しますか?私は何らかのローカルキャッシングや複数のIsMemberOf呼び出しを優先すべきですか?

CanDoSomethingのような詳細なアクセス権をどのように処理すればよいですか。私はより多くのグループを入れなければならない?

+0

ObjectGUIDは不変プロパティですそれらのすべてがあなたが行きたいものです。 –

答えて

1

アプリケーションとそれを使用するユーザーがすべて同じLAN上にある場合は、直接Windows Authを使用することをお勧めします。

です:あなたのアプリ内のユーザー(通常のユーザー、デモ・ユーザー、管理者)のグループごとに

  • 、Windowsの/ ADセキュリティグループを作成する - これらは、任意のWindowsによって投与して処理することができます/あなたのコード内のAD管理(必要な特別なツール/ UIのもの)

  • 、その現在のユーザーが特定の役割(またはしない)であるかどうかを把握するために、現在のWindowsPrincipalIsInRoleメソッドを使用

  • より細かいアクセス権:それはあなた次第です。 AzManのようないくつかの「すぐに使える」ソリューションがありますが、実際にはあまり使用されていないようです - 私たちは大部分が何らかの2層または3層のアプローチ(ユーザープロファイル許可)私は私のユニークかつ安定した基準としてそれを使用していないだろう - ADオブジェクトの名前が変更される可能性が

データベースで管理し、我々のアプリ内adminsiteredされます。 GUIDまたはSIDは固定されていて変更されません - GUIDはさらに厳密になります(SIDは特定の状況下でマージされ、変更される可能性があります)。

+0

ありがとうございます。ほとんどの場合、私はグループの束を作ることを計画しましたが、azmanは有望そうです。 –

関連する問題