【发布时间】:2012-06-08 15:14:04
【问题描述】:
所以我正在使用 jQuery Mobile 开发一个移动网络应用程序,我需要从应用程序的远程服务器请求一些数据。我从 C# SOAP Web 服务或从返回 JSON 的 IHttpHandler 获取数据。在返回任何数据之前,我需要以某种方式通过 Web 服务/处理程序进行身份验证。我希望使用 ActiveDirectory,并通过 AJAX 请求以某种方式将用户名和散列密码传递给服务器。问题是,在 C# 中使用 ActiveDirectory 进行身份验证的示例涉及将纯文本用户名和密码传递给 PrincipalContext.ValidateCredentials。有什么方法可以安全地将凭据传递给 C# 服务并让它通过 AD 进行身份验证,而无需知道明文密码?
编辑: 想也许我可以在客户端对密码进行哈希处理,将其传递给服务器,让服务器获取所请求用户的 AD 密码并以相同的方式对其进行哈希处理,然后进行比较,但是getting the AD password isn't possible。
编辑:查看aSSL。
【问题讨论】:
-
这是一个面向互联网的网站?
-
不是真的,不——它会存在于移动设备上。它应该只是公司内的用户,即拥有 AD 帐户的用户。
-
嗯,实际上应用程序可能最终会在某个时候出现在面向公众的服务器上。不过,似乎当我这样做时,我可以通过 IIS 保护它。但主要目标是让应用程序在某人的设备上运行,这样应用程序就不会知道
PrincipalContext或类似的信息。 -
您是否考虑过将某种类型的唯一电话机标识符链接到后端数据库中经过验证的用户,并对其进行身份验证?
标签: c# ajax security authentication active-directory