【发布时间】:2011-11-12 12:02:26
【问题描述】:
我正在 VS2010 中开发一个内部 .Net 应用程序,以便在我公司的 Intranet 中进行部署。该站点使用 Windows 身份验证,以便用户在成功通过域身份验证时不必登录。对于一页,我需要从 Intranet 获取一些信息,包括照片和其他信息。对于员工照片,我使用的是控件:
<asp:Image ID="imgPhoto" Style="display: inline-block" runat="server" CssClass="EmployeePhoto"
alt="Photo not available" />
从后端,这允许我通过更改照片网址来根据用户选择更改显示的照片,如下所示:
imgPhoto.ImageUrl = string.Format("http://{0}/{1}.jpg", MySitePath, employeePhotoPath);
但是路径是受密码保护的。有什么方法可以显式提供用于访问 asp:image 的凭据,这样我就可以传入当前经过身份验证的用户的凭据,而不会提示用户进行身份验证?
更新
以前有一种方法可以将用户名+密码指定到img标签中,例如:
<img src="http://username:password@server/photos/1.jpg">
或类似的东西。以便凭据可用于访问目录?现在有可能吗?
【问题讨论】:
-
您使用的是哪个版本的 IIS?这一点很重要。此外,您在这里遇到了三个不同的问题。第一个关于firefox是可以解决的;但是,关于仅使用匿名的第二个问题有点隐藏在您的问题中。第三,关于第三方,它不够复杂,无法传递用户名和密码。好吧,它提出了一个问题,即您为什么要尝试走 NTLM 路径。
-
我正在使用在 Windows 2003 服务器上运行的 IIS V6.0。我们使用的 PDF 服务只是转到我们提供的 URL,加载页面并将其导出为 PDF。我无法将用户名/密码传递给服务,所以我真的想找到一种方法来以编程方式(我知道的不是一个词)设置用于从 Intranet 获取照片的用户名和密码。我仅将 Firefox 问题用于该问题的更具体示例。我的“匿名”页面设置为使用 Windows 域用户帐户进行身份验证,并具有访问内网照片的权限。我怎么能不使用 NTLM?
标签: .net authentication iis-6 image ntlm