Аутентификация Windows / Шифрование в WCF С NetTcpBinding

Я пытаюсь понять, как аутентификация Windows / шифрование работает с NetTcpBinding в WCF. Я должен знать точно, какой алгоритм шифрования используется для шифрования данных, идущих через провод (и некоторая документация для доказательства его). Будет аутентификация Windows / шифрование все еще работает, если клиент и или хост не находится на домене?

5
задан Tallek 17 December 2009 в 16:50
поделиться

2 ответа

The netTcpBinding using Windows Credentials requires the caller and the service to be on the same domain - or at least on mutually trusting domains. Otherwise, the server won't be able to verify the Windows credentials and will refuse the service call.

As for encryption : you can even pick and choose which one you'd like ! :-) TripleDES, AES - you name it, with varying key lengths, too.

See the Fundamentals of WCF Security article - it talks about all aspects of security and encryption; also see the MSDN Docs on Securing Services which goes into some more detail; a good overview can be found here showing the properties of the basicHttp transport security element.

6
ответ дан 14 December 2019 в 04:39
поделиться

Last year I had to implement a distributed system using wcf that required a mechanism both safe and performant across all layers of the system. We decided for creating our own security architecture by creating a binary encrypted token. The encrypted token contained all permissions a given user had.

So for example a user would log in into the system and if successfully authenticated it would receive an encrypted token back. This token was stored locally on the web client. All further requests by the user would contain that token. The token was used in several levels of the architecture. The web server would use it to decide what visual elements to enable or disable. Since the service layer was exposed to the internet, each open door would check the token for authentication and check if that token had the proper permission to execute a given task. The business layer could check again for a more specific right included in the token.

The advantages:

  • It didn't matter if we were using NetTcpBinding or any other type of binding (and we did use more than one type of binding).
  • We saved a lot of round trips to the database
  • We could use the same token on different platforms

I know it probably doesn't answer your specific questions, but it will maybe give you some for food for thought while you're still deciding on the intra-layer architecture of your system.

2
ответ дан 14 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: