На моем сервере развернуто много служб WCF. Я реализовал PrincipalPermission
в сервисах следующим образом:
[PrincipalPermission(SecurityAction.Demand, Role = AuthorizationConstants.UpdateClientRole)]
public virtual updateClient_1_0Response UpdateClientData_1_0(
updateClient_1_0Request request)
Для того, чтобы использовать нашу пользовательскую авторизацию, я расширил класс IdentityModelServiceAuthorizationManager
и переопределил метод CheckAccessCore
, все они работают как шарм.
Итак, на снимке появляется новая цифра: одна служба должна вызвать другую службу, чтобы получить дополнительные данные. Например: клиент вызывает Service1 , Service1 , делает некоторые вызовы в БД для получения данных, а затем вызывает Service2 , чтобы получить некоторые дополнительные данные, обработать их и объединить их с данными, полученными ранее. Когда Клиент вызывает Service1 , IdentityModelServiceAuthorizationManager вызывается для авторизованного вызывающего абонента. Интересно, подразумевает ли вызов из Service1 в Service2 дополнительный вызов IdentityModelServiceAuthorizationManager для авторизации Service1 для вызова Service2 . Будет ли IdentityModelServiceAuthorizationManager вызываться несколько раз или просто «один» в Service1 для авторизации клиентского вызова?
Спасибо!