6

アクセス許可とグループが Active Directory で機能する方法は気に入っていますが、実際にはアプリケーションを AD に結び付けたくありません。

AD と同じ種類の機能を含む既存のライブラリはありますか? 特に、グループの作成、グループへのユーザーの割り当て、グループへのアクセス許可の追加、およびユーザーまたはグループに適用されたアクセス許可の表示を行う機能は?

4

7 に答える 7

1

ActiveDirectoryMembershipProvider クラスは MembershipProvider を継承します。

つまり、アプリケーションを AD 自体に関連付ける必要はなく、MembershipProvider モデルに関連付ける必要があります。このモデルは .net 全体で使用され、組み込みのコントロールとクラスでうまく機能します。

ここにサンプルがあります

//Any of these will work
ActiveDirectoryMembershipProvider provider = new ActiveDirectoryMembershipProvider();
//SqlMembershipProvider provider = new SqlMembershipProvider();
//MyCustomMemebershipProvider provider = new MyCustomMemebershipProvider();

MembershipProvider membershipProvider = provider;

if (membershipProvider.ValidateUser("username", "password"))
{
    MembershipUser user = membershipProvider.GetUser("username", true);
}
else
{
    //Do something
}

私はこのモデルの専門家ではありませんが、MembershipProvider をサブクラス化し、IPrincipal、IIdentity などを実装した経験があります。これを行うことは非常に柔軟で、一貫したアーキテクチャを維持します。

于 2012-06-15T04:41:39.517 に答える
1

Microsoft-s AzMan-Authorization Managerを Active Directory のラッパーとして使用できる場合があります。

アクセス許可を求めるためにプログラミングする API が含まれています。

ロールを定義して権利をマップし、それらを xml ファイルに保存できる gui (azman.msc)。

Active Directory に対して構成できます。

于 2011-05-16T14:07:01.013 に答える
0

私が読んだライブラリの1つは、RhinoSecurityです。業務の認証だけでなく認証も処理しているようで、一見の価値があります。私は実際にそれを実装していないので、それがどれほどうまく機能するかわかりません。

于 2011-05-17T19:19:37.447 に答える
0

これには、Windows Server の一部である Authorization Manager (AzMan) を使用できます。.NET から統合するために、Enterprise Library 5 には、使用できるクラス ライブラリ タイプがあります。

于 2012-05-15T11:47:46.380 に答える
0

OpenLDAPなどの無料の LDAP サーバーをセットアップし、DirectoryServicesを使用してそれにアクセスし、任意の数のツールを使用して LDAP ディレクトリを管理できます。いくつかの設定が必要です!

標準のディレクトリ サービスを使用する利点は、多数の管理ツールと、任意の数のアプリケーションをサポートできることです。欠点は、ディレクトリの管理とクエリを学習することです。AD を使用したくない特別な理由はありますか? Windows で作業している場合は、ほとんどの反対意見よりも Windows を強くお勧めします。

于 2011-05-16T13:47:53.100 に答える
0

AD が重すぎる場合は、軽い AD である ADAM を使用できます。これは、後者に付属の ADSI Edit で構成できます。ここに提供されている良いドキュメントと、SOに関する構成の質問があります。

さらに、同じ種類の .NET API (たとえばSystem.DirectoryServices.AccountManagement ) を使用して ADAM を参照できます。

于 2011-05-16T13:48:43.117 に答える
0

2つのこと。

初め :

ディレクトリとやり取りしたい場合は、LDAP API の上でプログラミングする必要があります。私が理解している限り、ADSI は LDAP の上で動作していますが、Active Directory からそれほど独立しているようには見えません。Mono プロジェクトを開始した Novellが LDAP の上でより独立した C# ライブラリを編集していることを私は知っています。

2番 :

アクセス許可、つまりアクセス制御リスト (ACL) は非標準機能です。アクセス権が Active Directory に実装される方法は、Sun e-Directory (特殊な属性) に実装される方法とは異なります。たとえば、OpenLDAP では、パーミッションは一種のアクセス フィルターに実装されています。

私は間違っているかもしれませんが (そうであることを願っています)、ディレクトリの許可をフェデレートするライブラリについて聞いたことがありません。

于 2011-05-17T19:15:01.390 に答える