扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:cnblogs 2007年11月2日
关键字: Profile SharePoint Office
MOSS User Profile(一):获取和遍历
操作Microsoft Office SharePoint Server 2007的User Profile首先需要添加3个DLL组件的引用:
Microsoft.SharePoint
Microsoft.Office.Server
System.Web
然后就可以从SPSite类下的UserProfileManager类来进行访问了。
获取User Profile有两个方法。
一个是通过枚举场中的所有User Profile。另一个是获取单独的User Profile。
但是访问这些User Profile之前,需要在管理中心中的共享服务管理中创建好用户配置文件,其实就是在管理中心中“创建或配置此服务器场的共享服务”,创建一个共享服务管理的网站。然后用户第一次访问他们的“我的网站”时,会自动创建他们的User Profile。
在共享服务管理网站中这个位置可以查看所有的用户配置文件:
①首先打开“用户配置文件和属性”。
②在我的实验环境中,可以看到已经存在了6个用户配置文件了,点击下面的查看用户配置文件即可看到所有的用户配置文件。
③用户配置文件列表
下面来介绍一下如何通过对象模型来进行访问。遍历所有的用户配置文件,根据用户名找到对应的用户配置文件。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingMicrosoft.SharePoint;
usingSystem.Web;
usingMicrosoft.Office.Server;
usingMicrosoft.Office.Server.Administration;
usingMicrosoft.Office.Server.UserProfiles;
namespaceConsoleApplication4
{
classProgram
{
staticvoidMain(string[] args)
{
try
{
using(SPSitesite = newSPSite("http://mossweb:1111/sites/Publish"))
{
ServerContextcontext = ServerContext.GetContext(site);
UserProfileManagerprofileManager = newUserProfileManager(context);
Console.WriteLine("All Profiles:");
foreach(UserProfilep inprofileManager)
{
Console.WriteLine("{0} : {1}", p.ID, p.MultiloginAccounts[0]);
}
Console.WriteLine("—");
stringuserName = @"eoffice\Administrator"
if(profileManager.UserExists(userName))
{
UserProfileprofile = profileManager.GetUserProfile(userName);
Console.WriteLine("Found User Profile {0}", profile.ID);
Console.WriteLine("\tPersonal Site: {0} ({1})", profile.PersonalSite.RootWeb.Title, profile.PersonalSite.Url);
}
else
{
Console.WriteLine("No account found for "+ userName);
}
}
}
catch(Exceptionex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}
参考资料:Sams Microsoft SharePoint 2007 Development Unleashed
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者