Защищенные сервисы WCF с использованием WIF / STS - украсить методы требуемыми требованиями? - PullRequest
2 голосов
/ 19 января 2011

Я смотрю на обеспечение безопасности некоторых служб WCF с использованием WIF и прочитал в учебном наборе Identity Training от Microsoft в упражнении 1: «Кроме того, вы можете ожидать, что разработчики будут назначать условия с помощью вызовов в стиле Code Access Security (т. Е. С помощью атрибутови т. д.) Обе возможности потребуют некоторой поддержки кодирования "(в середине этой статьи: http://channel9.msdn.com/Learn/Courses/IdentityTrainingCourse/WebServicesAndIdentity/WebServicesAndIdentityLab/Exercise-1-Using-Windows-Identity-Foundation-to-Handle-Authentication-and-Authorization-in-a-WCF-Ser)

Однако я не могу найти какую-либо документацию о том, как реализовать решение, которое используетэтого украшения подхода.У меня нет особой необходимости использовать утверждения в реальном методе WCF или бизнес-логике, я просто хочу использовать WIF / STS для безопасного доступа к методу.Буду признателен за любые советы о том, является ли это лучшим подходом, и как обезопасить методы с использованием украшений.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Я думаю, вы можете взглянуть на PostSharp. Вы можете реализовать свои сквозные задачи, используя АОП, а затем применить их в качестве атрибутов для украшения ваших методов. Таким образом, ваши проверки были бы изолированы в хорошо известных местах, и бизнес-методы указали бы в атрибутах безопасности утверждения, необходимые для выполнения этих методов.

Или, для простых случаев, вы можете использовать это (я думаю, что вы имели в виду это):

[ClaimsPrincipalPermission(SecurityAction.Demand, Operation = "Operation1", Resource = "Resource1")]
1 голос
/ 21 февраля 2011

Вы также можете реализовать IOperationInvoker. Приписывайте свой контракт и реализуйте с помощью поведения. Прокрутите каналы и конечные точки при запуске, подумайте о ваших операциях для атрибутов методов и / или параметров для настройки ваших проверок Затем примените проверки при запуске операции.

Есть пара хороших статей. Хотя я могу найти только один ниже.

http://msdn.microsoft.com/en-us/magazine/cc163302.aspx

...