如何在 Delphi 中处理安全 Web 服务的客户端身份验证?
我的网络上运行着一个 SharePoint 服务器,我正在尝试在 Delphi 中构建一个应用程序,该应用程序允许我访问各种 SharePoint Web 服务 托管在那里。
在与 SharePoint 服务器相同的网络上运行我的应用程序工作正常,但是,当我尝试在不属于同一域的虚拟机上运行它时,我无法获得身份验证。我正在寻找一些关于如何处理此类场景的身份验证的建议,更具体地说,我是否应该提示用户输入其凭据,或者是否有一些内置的安全模型可以用于此目的?
理想情况下,我想尝试避免处理用户名和用户名。我的应用程序中的密码并让操作系统处理此类事情,但是,目前我似乎看不到任何其他解决方法。
I have a SharePoint server running on my network and I am trying to build an app in Delphi which allows me to access the various SharePoint Web Services hosted there.
Running my app on the same network as the SharePoint server works fine, however, when I attempt to run it on a VM which is not part of the same Domain I can't get authenticated. I was looking for some advice as to how I should be handling authentication for this type of scenario, more specifically, should I be prompting the user for their credentials or is there some built in security model I can use for this?
Ideally I would like to try avoid dealing with Usernames & Passwords in my app and let the OS handle that sort of thing, however, at the moment I can't seem to see any other way around this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过一番调查,对于我的特定场景,我决定最好的方法是使用 WinINet。我选择这种方法而不是 Indy 因为经过彻底调查后我发现 Indy 确实有一些错误& ;而且它没有内置我们需要的所有身份验证处理。WinINet
支持提示输入凭据和信息。通过网络自动进行身份验证。请参阅处理身份验证 。
After some investigation, for my particular scenario I decided that the best approach would be to use WinINet. I chose this approach over Indy because after some thorough investigation I found Indy did have some bugs & also it didn't have all the authentication handling we needed built in.
WinINet supports prompting for credentials & automatically authenticating across the wire. See Handling Authentication.