.NET Remotingに関するインターフェイスに関する有用な情報を見つけるための努力を尽くしましたが、IAuthorizeRemotingConnection
実際には有用なものは何も見つかりませんでした。
ここでの問題は、多くの例があるため、実際には「ハウツー」ではありませんが、問題は、メソッド内でIDが互いにどのように関連しているかの1つですIsConnectingIdentityAuthorized
。
.NET Remoting Serviceが実行されており、最近、IAuthorizeRemotingConnection
インターフェイスをクラスに追加しました。このクラスは、IDを検証するためにRemotingサービスによって使用されます。私が抱えている問題は、「どのID」を検証しているのかということです。
IAuthorizeRemotingConnection
ローカルシステムに渡されたときにメソッドに渡されたIDをログに記録できます。IDはMACHINE\ASPNETユーザーであることがわかります。Howeeer、別の開発Webサーバーに対してサービスをホストしている開発サーバーでは、IDを確認できません。
基本的に、IsConnectingEndPointAuthorized
メソッドがリモーティングサービスによって呼び出され、これが発生したことをログに記録できますが、IsConnectingIdentityAuthorized
が呼び出されていることはわかりません。
ローカルシステムにまったく同じコードベースを使用しているのに、開発環境では動作が異なるため、これは非常に奇妙です。最も苛立たしいのは、どのIDがサービスを使用しようとしているのかわからないことです。それでも、IDが呼び出されていることを確認するために使用されるメソッドがまったくわかりません。
Webアプリケーションログに「ログインが拒否されました」というメッセージで例外が発生しているのがわかります。舞台裏で何らかの形で「事前認証」を行っているのではないかと思いますが、これは失敗するため、IsConnectingIdentityAuthorized
メソッドを呼び出すことすらできません。
誰もが共有できるこれについて何か経験がありますか?
「WCFを使用する」サービスを追加する前に、そのようにする予定ですが、完全に実装されるまでにはまだしばらく時間がかかります。また、WCFに関する本物のアイデンティティに関する質問もあります。ただし、このリモート処理の問題も特定できるようにしたいと思います。