Вот и конец игры ... Мне нужно приложение службы wcf с защитой имени пользователя и пароля через ssl.Довольно простые вещи, но я в конце концов пытаюсь сделать эту работу.Я пытаюсь реализовать руководство HOWTO из шаблонов и практик Microsoft, перечисленных здесь:
Как: использовать аутентификацию по имени пользователя с транспортной безопасностью в вызове WCF из Windows Forms .
Я выполнил каждый из шагов точно ... за исключением шагов 9-12. Эти шаги реализуют пользовательский класс аутентификации и авторизации.У меня возникают ошибки как при реализации этих пользовательских классов, так и без них.
Во-первых, без пользовательских классов ... Без пользовательской авторизации и аутентификации я могу скомпилировать свой проект wcf и создать ссылку на службу вконсольное клиентское приложение.Когда я запускаю консольное приложение, оно работает, но когда я украшаю свой метод wcf, чтобы ограничить разрешения, создается впечатление, что клиент никогда не передает учетные данные службе wcf.Если он оставляет декорацию вне метода и отслеживает шаг в методе wcf, если обнаруживает, что ServiceSecurityContext.Current.PrimaryIdentity.Name является пустым.Я украшаю с помощью: [PrincipalPermission (SecurityAction.Demand, Role = "sysadmin")] (и да, я использовал конфигурацию ASP.net для создания роли и учетной записи в этой роли.)
Во-вторых, с пользовательскими классами ... Если я включу элемент HttpModules, как указано в шаге 10, я получаю сообщение о том, что IIS express 7.5 больше не делает этого, и мне нужно перенести конфигурацию.После небольшой охоты я обнаружил, что мне нужно переместить предмет в.Но он все еще жалуется, что не может ссылаться на модуль.Если я опускаю модуль аутентификации и пытаюсь просто сослаться на модуль авторизации, я получаю ту же ошибку.
Я попытался включить весь файл web.config, но этот редактор не хотел принимать все это.Достаточно сказать, что это точно так же, как статья msdn, за исключением перемещения тега модуля.