Gay*_*ara 5 active-directory c#-4.0
我有一个用 C# 开发的网站。该网站将托管在我们组织的本地内联网中。用户使用 Windows 身份验证通过其 Windows ID 进行身份验证。当用户访问该网站时,我想在用户的活动目录中显示图片。
这段代码使我能够获取用户图像。图像Response.BinaryWrite(bb); Response.Flush();将显示在空白页面中。相反,我想在同一页面的 div 内显示我的图片。我怎样才能做到这一点?
using System;
using System.DirectoryServices;
using System.Linq;
namespace thumbnailTest
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String myUser = User.Identity.Name.Split('\\')[1];
if (myUser == null)
{
Response.Redirect("app_graphics/user.jpg");
}
Response.ContentType = "image/jpeg";
Response.Clear();
Response.BufferOutput = true;
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://";
DirectorySearcher search = new DirectorySearcher();
search.SearchRoot = de;
search.Filter = "(&(objectClass=user)(objectCategory=person)(sAMAccountName=" + myUser + "))";
search.PropertiesToLoad.Add("samaccountname");
search.PropertiesToLoad.Add("thumbnailPhoto");
SearchResult user;
user = search.FindOne();
String userName;
if (user == null)
{
Response.Redirect("app_graphics/user.jpg");
}
else
userName = (String)user.Properties["sAMAccountName"][0];
try
{
byte[] bb = (byte[])user.Properties["thumbnailPhoto"][0];
Response.BinaryWrite(bb);
Response.Flush();
}
catch
{
Response.Redirect("app_graphics/user.jpg");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ste*_*n M -5
您应该将带有 src url 的 img 标记添加到您编写的处理程序中(可以说它应该是用于 Web 表单的 HttpHandler)我想该 url 看起来像
<img src="http://myintranetsite/ADImageHandler alt="" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12453 次 |
| 最近记录: |