| 
                                      1
                                 | 
| Ogre Psalm33 · 技术社区 · 16 年前 | 
|   |      1 
                                  4
                             如果您有一个公钥/私钥组合,那么客户机可以用公钥加密,然后用私钥解密。 但是,这对客户机来说太多工作了,而不是一种非常“web方法”的工作方式。 因为您将用户名和密码作为参数发送,所以您应该使用传输安全性(基本上是HTTPS),这要求您具有从受信任的证书颁发机构颁发给您的公钥/私钥组合。 应该注意的是,您的SSL加密通道与外部站点的关联是不正确的。想要加密一个通道的关键是防止中间人攻击,就像你在这里所做的那样。 您可以使用自己颁发的证书,但这需要在每台要调用Web方法的计算机上安装证书的公钥。从可信的权威那里得到一个更容易。 | 
|   |      2 
                                  1
                             https(如前所述)是一个简单的选择。或者,您可以让IIS通过Digest或NTLM处理身份验证。你的应用仍然可以制定授权规则。NTLM是安全的,但它会损害您的互操作。否则,ad确实提供了一些摘要式身份验证方法,但我还没有使用它们测试代码。 对于Server2000域,有一个“以可逆格式存储密码”选项,它允许域控制器计算密码的MD5哈希值,以便与显示的MD5哈希值进行比较。不过,MS意识到这有点安全问题,所以Server2003实现了“高级”摘要式身份验证——它预计算哈希值。 LDAP登录应该选择MD5摘要作为身份验证类型,提供用户名,然后提供密码的MD5哈希。但是,普通的LDAP客户机可能希望MD5您自己的密码,因此您必须自己重写或创建它们。 | 
|   |      3 
                                  0
                             我们把广告服务放在自己的网站上,解决了一个SSL证书问题。 | 
|   |      4 
                                  0
                             我认为ssl或者ipsec可能是您最好的解决方案。 | 
|   |      5 
                                  0
                             对于我们的特定情况,由于客户机和Web服务都在我们公司的内部网上运行,一个可能对我们有用的解决方案是使用集成的Windows NTLM身份验证在客户机端处理身份验证,然后让客户机向Web服务提供凭据。客户代码如下: Web方法现在将如下所示: 同样,我必须强调,只有当服务器信任客户机,并且两者都与同一个Active Directory服务器通信时,这个解决方案才可能工作。对于公共Web服务,给出的另一个答案将是更好的解决方案。 有关更多信息,请参阅: 
 | 
|   | vale383 · 如何在Django端点中查找user_id 9 月前 | 
|   | Tunahan Keklik · 如果用户仍在网站上时会话过期怎么办 1 年前 | 
|   | onizukaek · 如何将无密码登录链接认证应用于无头架构? 1 年前 | 
|  | Kananda Gama · Problema com登录[关闭] 1 年前 |