IT ラボ サポート組織が提供するキャンパス内のさまざまな場所の連絡先情報を必要とするイントラネット アプリケーションがあります。連絡先情報を含むエンタープライズ ディレクトリがあるため、実際の連絡先情報をデータベースに保持するのではなく、(Web サービスを介して) エンタープライズ ディレクトリでその人物を検索するためのキーとして機能する不変の識別子を保持します。公開されている Web サイトから連絡先情報を探します。
問題は、Web ベースのディレクトリ ルックアップに役立つ ID が「一種の」不変であり、データベースに保存する ID ではないということです。ディレクトリ ルックアップは、個人の Active Directory ログイン ID を使用して最も簡単に実行できます。私が使用するものは、Master Records Unique ID と呼ばれます。
私の質問は、リンクの MRUID から Active Directory ログイン ID への変換を行う最も合理的な場所はどこですか?
現在、私はプレゼンテーション層で変換を行っており、ディレクトリへの参照を減らすためにアプリケーション レベルのキャッシュを使用しています。現在、Web サイトは 1 つしかありませんが、これを行う必要がある Web サイトが他にもある場合は、ヘルパー クラスを共有 Web コントロール ライブラリに移行することを期待しています。
コードをデータ層またはビジネス層に配置することを検討しましたが、キャッシングを理由に選択しませんでした。キャッシュする方法と内容は、これらの他のレイヤーではなく、アプリケーションの機能のようです。
私が考慮していないかもしれない他の意見やアイデアに興味があります.