IAuthorizeRemotingConnection .NET Remoting - PullRequest
2 голосов
/ 17 марта 2011

Я исчерпал свои усилия, чтобы найти любую полезную информацию об интерфейсе IAuthorizeRemotingConnection в отношении .NET Remoting, и я на самом деле не нахожу ничего полезного.

Проблема здесь на самом деле нес практическими рекомендациями, поскольку существует множество примеров, но проблема заключается в том, как идентификаторы связаны друг с другом в методе IsConnectingIdentityAuthorized.

У нас работает служба .NET Remoting, и мы недавно добавилиIAuthorizeRemotingConnection интерфейс к классу, который затем используется службой удаленного взаимодействия для проверки идентификаторов.Проблема, с которой я сталкиваюсь, заключается в том, «какие идентификационные данные» мы проверяем?

Я могу регистрировать идентификационные данные, когда они передаются в метод IAuthorizeRemotingConnection, когда они передаются в моей локальной системе.Я могу сказать, личность пользователя MACHINE \ ASPNET.Однако на нашем сервере разработки, где мы размещаем службу на другом веб-сервере разработки, я не могу увидеть удостоверение.

По сути, в то время как метод IsConnectingEndPointAuthorized вызывается службой удаленного взаимодействия, и ямогу записать, что это происходит, я никогда не вижу, чтобы IsConnectingIdentityAuthorized вызывался.

Это очень странно, потому что, хотя я использую ту же самую базу кода для моей локальной системы, она работает по-другому в среде dev.Самое неприятное в этом то, что я не могу сказать, какая личность пытается использовать службу, и даже тогда я даже не могу видеть, что метод, используемый для проверки идентичности, вызывается вообще.

Я вижу исключение с сообщением "вход в систему запрещен" в журнале веб-приложения.Мне интересно, если мы каким-то образом «проводим предварительную аутентификацию» за кулисами, и это не получается, поэтому мы даже не можем вызвать метод IsConnectingIdentityAuthorized.

Каждый, у кого есть опыт, которым он может поделиться?

Прежде чем добавить услугу "использовать WCF", я am планирую пойти по этому пути, но пройдет некоторое время, прежде чем она будет полностью реализована,У меня также есть аутентификационные вопросы, касающиеся WCF.Тем не менее, я бы хотел, чтобы эта проблема удаленного взаимодействия тоже была решена.

1 Ответ

0 голосов
/ 01 февраля 2012

Я столкнулся с чем-то подобным, когда получал удаленные объекты, работающие по SSL. Нам нужно было решить вопросы доверия (caspol предоставить сайту FullTrust), и поскольку все используемые компоненты имели строгое название, нам нужно было прекратить использование созданных версий сборок

[assembly: AssemblyVersion("7.3.*")]

и убедитесь, что они исправлены

[assembly: AssemblyVersion("7.3.1.1")]

- это, казалось, делало фьюжн гораздо менее запутанным.

Кроме этого, имеет ли пользователь AppPool на сервере разработки права доступа или вам нужно убедиться, что вы используете одного и того же пользователя через соединение? MACHINE \ ASPNET вашего абонента будет иметь другой токен безопасности, чем на вашем сервере, так что вы можете аутентифицироваться под пользователем домена? Смотрите это для полной картины и некоторые идеи: http://msdn.microsoft.com/en-us/library/ff649264.aspx

...