这是一个探索性的问题。经过一些阅读后,我感觉到WCF的身份验证选项对非Microsoft客户端“不友好”,或者需要付出很多努力才能实现。我正在构建一个REST WCF服务,我想要一些简单的摘要式身份验证;例如我在Web.config中存储用户名和密码,并与将使用该服务的团队共享。将使用此服务的团队是一个不熟悉微软工具或帮助者的传统商店;例如ANSI C / C ++,PHP等
无论如何,消化身份验证的MSDN tells me要求服务器位于域中。我不希望或需要此服务在域中。这似乎是一个奇怪的要求。所以我驳回了这个选择。
所以我读到了有关NTLM和Windows身份验证的内容,但我担心只会支持Microsoft风格的专有身份验证方法,这会对其他团队造成负担。他们是否不得不花费更多精力来对这种服务进行编码?这些方法似乎与Windows域和用户帐户等概念有着内在联系。
答案 0 :(得分:1)
Windows身份验证旨在用于 Intranet服务,其中有一个域控制器可用于管理您的凭据和授权。
您需要查看可能符合您需求的Forms Authentication。
答案 1 :(得分:1)
如果您只是寻找“友善”,那么您可以进行基本身份验证,这种身份验证几乎无处不在。
但是,除非再加上某种传输级加密,否则密码将以明文形式传输 - 这是一种非常糟糕的安全方面。
许多非WCF技术支持NTLM和kerberos身份验证,但对使用该环境的环境有负担/要求。
您可以查看某种消息级别身份验证,这意味着凭据将成为消息的一部分,而不是由传输处理。 WCF支持与消息级别安全性相关的WS- *规范。这些规范再次与WCF或Windows无关。
我认为您设置中最简单的方法是使用基本身份验证并使用HTTPS进行传输。