10

私たちのアプリケーションは COM と DCOM を広範囲に使用しているため、その一環として、COM セキュリティ権限が正しく設定されていることを確認する必要があります。コンポーネント サービス MMC スナップインでこれらのアクセス許可にアクセスできること、およびコンピューターのプロパティ ページで既定値/制限を設定できることを知っています。

マイ コンピュータのプロパティ ページのスクリーンショット

そして、DCOM Config ノードの下で、ドリルダウンして個々のアプリケーションのセキュリティ権限を設定できます

Logger アプリケーションのプロパティ ページのスクリーンショット

また、「デフォルト」(アプリケーションごとに権限が明示的に設定されていない限り、DCOM アプリケーションが使用するもの) と「制限」(アプリケーションごとの設定がこれらの設定を超えた場合でも適用される権限) の間の関係も理解していますが、設定できるさまざまな設定の違いがわかりません (ドキュメントが見つかりません)

  • 「アクセス」、「起動」、「アクティベーション」、および「構成」権限の違いは何ですか?
  • これらの設定は COM アプリケーションに影響しますか、それとも DCOM アプリケーションのみに影響しますか?
  • リモート DCOM を使用している場合、サーバーとクライアントの両方にアクセス許可を設定する必要がありますか? それともクライアントだけに設定する必要がありますか?
  • 上記を説明するドキュメントはありますか?
4

1 に答える 1

10

セキュリティ タブの設定は、レジストリの AppID ごとのセキュリティ構成であり、これに関する MSDN の詳細については、AppID キーを参照してください。

AccessPermission このクラスのインスタンスにアクセスできるプリンシパルのアクセス制御リスト (ACL) を記述します。この ACL は、CoInitializeSecurity を呼び出さないアプリケーションによってのみ使用されます。

LaunchPermission このクラスの新しいサーバーを起動できるプリンシパルのアクセス制御リスト (ACL) を記述します。

COM クライアントが COM サーバーにアクセスしようとすると、COM サブシステムはクライアント側の資格情報をこれらのアクセス リストと照合してチェックし、サーバーへのアクセスを許可するかどうか、サーバーがまだ起動していない場合は起動を許可するかどうかを決定します。したがって、通常のアクセス用と新しいサーバーの起動用 (必要な場合)の 2 つのリストがあります。

これらはアプリケーションごとの設定であることに注意してください。特定のクラスには、適切に関連付けるために、レジストリでCLSID から APPID へのマッピングが必要です。

于 2012-10-19T13:12:31.697 に答える