TWebBrowser和NTLM身份验证

时间:2009-10-09 08:09:54

标签: sharepoint delphi iis ntlm twebbrowser

如何从Delphi域外的Delphi连接到Delphi中的TWebBrowser组件到Sharepoint-Server?我在我的域中创建了一个用户帐户,并将此信息连接到服务器。

以下代码不起作用:

const
USERNAME = 'JamesBond@domain.tld';
PASSWORD = 'Password2009';
var
Url, Headers: OleVariant; 
begin
URL := 'http://192.168.100.130';
Headers := 'Authorization: NTLM ' +
Base64Encode(USERNAME + ':' + PASSWORD)+ sLineBreak;
WebBrowser1.Navigate2(Url, EmptyParam, EmptyParam, EmptyParam, Headers);

使用Basic-Auth相同(不工作)的结果。

2 个答案:

答案 0 :(得分:0)

在我们的Intranet和Indy TIdHTTP组件中,我将其用作用户名:

Username := "domainname\username";

它也适用于FireFox,其中NTLM安全服务器不会像IE中那样在登录对话框中生成“域”输入字段,而只会显示默认的用户/密码输入字段。

答案 1 :(得分:0)

当您提到此调用失败时,为什么不在SharePoint / IIS端检查记录了哪些错误?如果是401.1错误,安全事件日志应包含登录失败记录并告诉您原因。 (必须通过本地安全策略在服务器上启用登录审核失败。)