使用Active Directory填充Request.Credentials以访问Web服务

时间:2012-12-15 00:12:04

标签: asp.net vb.net web-services active-directory

有没有办法检测用户的AD凭据并使用它们来创建可用于查询Web服务的NetworkCredential对象?下面是我的代码的摘录,基本上我是通过web服务查询GIS数据库,而web服务需要Windows AD身份验证。

目前这是一个手动过程,因此我们只是将我们自己的AD凭据硬编码到变量顶部并且它工作正常但我希望页面检测某人的AD凭据并使用它们来创建NetworkCredential对象以便我们可以让我们的内部客户也使用该页面。

Public Function getJSON(ByVal url As String) As String

    Dim HTMLSource As String = ""
    Dim Request As WebRequest = WebRequest.Create(url)
    Request.Credentials = New NetworkCredential(username, password, domain)
    Dim Response As WebResponse = Request.GetResponse
    Dim SR As StreamReader
    SR = New StreamReader(Response.GetResponseStream)
    HTMLSource = SR.ReadToEnd
    SR.Close()
    Return HTMLSource
End Function

1 个答案:

答案 0 :(得分:0)

让用户将他的Kerberos凭据委托给您的服务器/服务,在身份验证期间提取,冒充并代表用户执行您的请求。