Я занимаюсь проектированием приложения WCF. Цель приложения - предоставить страховым членам доступ к их страховой информации через Интернет.Архитектура WCF
Проблема заключается в нашей сетевой архитектуре, и я не совсем уверен, какой тип или комбинацию безопасности я должен использовать.
В нашей внутренней сети у нас есть среда UNIX, к которой я обращаюсь, используя оболочку EntireX .net, и у нас есть хранилище данных Oracle 10g, доступ к которому я могу получить через корпоративную библиотеку.
Я создал BLL, содержащий бизнес-объекты и DAL, которые заполняют эти объекты через Enterprise Library/EntireX.
Я создал слой услуг WCF с двумя службами WCF, один для доступа к хранилищу oracle и один для доступа к unix, и они ссылаются на BLL.
Я собираюсь разместить эту службу в IIS на производственном сервере с SQL 2005 внутри брандмауэра. Мы приобрели веб-сервер, для которого мы создаем DMZ, и этот веб-сервер будет связываться с производственным сервером только через порт 443 и/или порт 80. Наш интернет-сайт нашей компании будет иметь доступ к веб-серверу в DMZ.
Презентационный уровень будет интерфейсом ASP.Net, который вызывает службу в коде с помощью Channelfactory. Я использую клиентские сертификаты X509, которые клиент должен предоставить службе. Служба защищена SSL. Передняя часть будет находиться на веб-сервере в DMZ.
Я использую wsHttpBinding с транспортной безопасностью и clientCredentialType = "Сертификат", который работает нормально, но я хочу передать информацию для входа в службу. Я думал добавить его в заголовок сообщения.
Теперь я на стадии, что я сомневаюсь в жизнеспособности моего дизайна. Может ли кто-нибудь дать мне несколько советов о том, какую привязку и безопасность я должен использовать в этом сценарии, как пройти регистрационную информацию и то, что я должен иметь на моем уровне предварительного уведомления, чтобы быть наиболее безопасным. Мы контролируем, какие порты будут открыты через брандмауэр на внутреннем сервере. У нас будет только один клиент ASP.Net, размещенный на веб-сервере в DMZ, но только HTTPS или HTTP-доступ к серверу.
Большое спасибо Райан
Благодаря
Когда вы говорите: «Я хочу передать информацию для входа в службу», вы хотите, чтобы вы хотели, чтобы идентификатор пользователя был доступен на уровне служб? – Dan