.net 设置img基本身份验证的凭据
我正在VS2010中开发一个内部.Net应用程序,以便在公司内部网中部署。该站点使用Windows身份验证,以便用户在成功通过域身份验证后不必登录。对于一个页面,我需要从内部网获取一些信息,包括照片和其他信息。对于员工照片,我使用一个控件:.net 设置img基本身份验证的凭据,.net,authentication,iis-6,image,ntlm,.net,Authentication,Iis 6,Image,Ntlm,我正在VS2010中开发一个内部.Net应用程序,以便在公司内部网中部署。该站点使用Windows身份验证,以便用户在成功通过域身份验证后不必登录。对于一个页面,我需要从内部网获取一些信息,包括照片和其他信息。对于员工照片,我使用一个控件: <asp:Image ID="imgPhoto" Style="display: inline-block" runat="server" CssClass="EmployeePhoto" alt="Photo not
<asp:Image ID="imgPhoto" Style="display: inline-block" runat="server" CssClass="EmployeePhoto"
alt="Photo not available" />
但是,路径受密码保护。是否有任何方法可以显式提供用于访问asp:映像的凭据,以便在不提示用户进行身份验证的情况下传入当前已验证用户的凭据
更新
过去有一种方法可以在img标记中指定用户名+密码,如:
<img src="http://username:password@server/photos/1.jpg">
或者类似的东西。这样凭据就可以访问目录了?现在是否可以这样做?请参阅:
或者,如果您想要一个插件来管理它:
最后,我使用WebClient类设置凭据以向其他服务器进行身份验证,然后在本地下载照片:
WebClient myWC = new WebClient();
myWC.Credentials = new System.Net.NetworkCredential(bioSearchUsername, bioSearchPassword);
string photoPath = Server.MapPath("~/images/Employees/" + employee + ".jpg");
myWC.DownloadFile(imageLocation, photoPath);
之后,我在服务器上引用了照片的本地副本:
imgPhoto.ImageUrl = photoPath;
这解决了我在图像中遇到的身份验证问题。这很有帮助,但只适用于我的机器。我需要为每个需要使用该应用程序的人提供解决方案。此外,这也不能解决外部服务无法访问intranet资源的问题。感谢您的建议您使用的是哪个版本的IIS?这很重要。另外,这里有三个不同的问题交织在一起。关于firefox的第一个问题是可以解决的;然而,第二个关于使用匿名的问题被隐藏在你的问题中。第三,关于第三方,它不够复杂,无法传递用户名和密码。。好吧,这就引出了一个问题,为什么您要从NTLM路径开始。我使用的是运行在Windows 2003服务器上的IIS V6.0。我们使用的PDF服务只需转到我们提供的URL,加载页面并将其导出为PDF。我无法将用户名/密码传递给该服务,因此我正试图找到一种方法,通过编程(我不太懂)设置用于从内部网获取照片的用户名和密码。我只是将Firefox问题作为一个更具体的例子。我的“匿名”页面设置为使用Windows域用户帐户进行身份验证,并具有访问intranet照片的权限。如何不使用NTLM?
imgPhoto.ImageUrl = photoPath;