我包括这在使用条款德尔福印的Sharepoint的Windows登录
IdAuthentication
,
IdAuthenticationDigest
,
IdAuthenticationNTLM
,
IdAuthenticationSSPI
目前,我有代码,这是否:
W.Request.BasicAuthentication := True;
W.Request.Username := AOptionsPtr^.AuthUsername;
W.Request.Password := AOptionsPtr^.AuthPassword;
如果我有机会获得的OpenSSL:
TmpOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create;
TmpOpenSSL.SSLOptions.Method := sslvSSLv23;
TmpOpenSSL.SSLOptions.Mode := sslmClient;
TmpOpenSSL.SSLOptions.VerifyMode := [];
TmpOpenSSL.SSLOptions.VerifyDepth := 0;
//--
W.IOHandler := TmpOpenSSL;
从略读WinINet的文档(是的,我知道它是不Indy)似乎持久连接也需要认证。我想这也适用于Indy? URL: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384220(v=vs.85).aspx
我需要得到这个工作与SharePoint。但是,问题在于我没有Intranet SharePoint服务器要测试。因此,我无法逐句通过代码,看看哪些是有效的,哪些没有。但是,我有一个潜在客户可以为我测试它。
更重要的是,我需要做的就是上面的代码使用Windows身份验证(NTML?SPPI?)的SharePoint工作
威尔印自动测试和使用适当的auhentication?
我是否需要设置W.Request.BasicAuthentication := False;
以使自动验证/检测工作?
如果需要多个请求(第一个响应是401)我想在创建GET请求时我需要在自己的代码中添加对此的支持? (要设置身份验证模式,并作出新的要求?)
嗨雷米。感谢您的回答。我会试试看。如果我预先填写用户名/密码,如果我理解正确,我不需要处理该事件? (假设我信任Indy选择正确的身份验证类型......我该怎么做。)如果我仍然需要BasicAuthentication作为备份,我应该将Request.BasicAuthentication设置为false吗? (请问Indy会自动将它用作备份验证身份验证与其他身份验证不匹配) – Tom
您填写的用户/密码值将用于初始身份验证请求。如果服务器拒绝他们并再次请求认证,那么可以通过OnAuthorization事件更改这些值,甚至可以选择提示用户输入值。您必须将'BasicAuthentication'设置为true才能启用回退。 –
感谢您的澄清!:) – Tom