ADAM をセットアップし、新しいユーザーの追加などの管理タスクを完了するための Web サービスを作成しました (同じ ADAM インスタンスを使用する複数のアプリケーションがあります)。
私が達成しようとしていることは、おそらく少し奇妙に聞こえるかもしれませんが、基本的には、Web サービスが ADAM から返す属性を管理者ユーザーが選択できるようにしたいと考えています。たとえば、アプリケーション 1 は displayName と telephoneNumber を返す必要がありますが、アプリケーション 2 は同じ属性を返す必要がない場合があります。
現在、ユーザーが返すように選択した属性を格納する SQL Server テーブルをセットアップしました。次に、Web サービスでこれをループして、必要な属性をロードし、返される配列に結果を追加します (興味がある場合は、一番下にコードを追加します)。
これを行うためのより良い方法があるかどうか知りたいですか?このようなものを ADAM 自体に格納することは可能ですか?
助けてくれてありがとう!
//using linq to access table
DataClasses1DataContext db = new DataClasses1DataContext();
var queryAttributes = from atr in db.AttributesToReturns
where atr.appNumber == appNumber
select atr;
ArrayList userD = new ArrayList();
foreach (var a in queryAttributes)
{
//the col 'attribute' contains the exact name in active direct e.g. displayName
string att = a.attribute.ToString();
searcher.PropertiesToLoad.Add(att);
}
//--code omitted but here perform search & get req Directory Entry
foreach (var a in queryAttributes)
{
string attributeName = a.attribute.ToString();
try
{
string value = user.Properties[attributeName].Value.ToString();
//do something with value - here i am updating a user object which will be added to the ArrayList the webservice is returning
updateUser(u, attributeName, value);
}
//if an error - just set value to empty
catch (Exception ex)
{
string value = "NULL";
updateUser(u, attributeName, value);
}
}
userD.Add(u);