如何:创建成员资格

上次修改时间: 2010年1月27日

适用范围: SharePoint Server 2010

Microsoft SharePoint Server 2010 支持两种类型的成员资格:通讯组列表 (DL) 成员资格和 Windows SharePoint Services 网站成员资格。DL 成员资格信息从 Active Directory 目录服务获取,Windows SharePoint Services 网站成员资格信息通过从 SharePoint 网站请求成员资格信息的方式获取。用户公用的"我的网站"网页称为配置文件页面,其中显示该用户的成员资格、该用户与查看的用户共有的成员资格以及其他信息。

用户配置文件对象模型添加了几个类和方法,以支持新的成员资格功能。用户配置文件对象模型中新的类和方法支持下列操作:

  • 检索用户的成员资格

  • 设置用户的成员资格隐私设置

  • 获取两个用户共有的成员资格

  • 枚举成员组

  • 扩展新的成员资格类型,并允许您通过对象模型添加新的成员资格

Membership 是用户配置文件对象模型中的一类对象。您可以从 UserProfile 对象获取成员资格。

MemberGroup 对象可定义 DL、Windows SharePoint Services 网站或者您使用对象模型创建的任何其他新成员组。它会定义一个 URL 属性;如果是 DL,该属性表示存档位置(mailto: 链接),如果是 MemberGroup 对象,则表示 Windows SharePoint Services 网站 URL。SourceReference 属性从 Active Directory 返回 DL 的 DirectoryEntry,或者依据 MemberGroup 返回 SPWeb 或 SPSite 对象。

UserProfileManager 类添加了返回成员组定义和创建新成员资格类型的类。

下面的示例创建一个新的成员组并将一个成员添加到新创建的组。使用此代码示例之前,用实际值替换 servername、domainname、username 和其他占位符。此外,还应在 Microsoft Visual Studio 项目中添加对以下项目的引用:

  • Microsoft.Office.Server

  • Microsoft.Office.Server.UserProfiles

  • Microsoft.SharePoint

  • System.Web

示例

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using System.Web;

namespace UserProfilesApp
{
    class Program
    {
        static void Main(string[] args)
        {

            using (SPSite site = new SPSite("https://servername"))
            {
                   SPServiceContext context = 
                       SPServiceContext.GetContext(site);
                  UserProfileManager profileManager = 
                      new UserProfileManager(context);
                
                //Create a member group
                 MemberGroup newGroup = 
                     profileManager.GetMemberGroups().
                     CreateMemberGroup(PrivacyPolicyIdConstants.
                     MembershipsFromDistributionLists, 
                     "Customer Connection Team","Customer Connection VTeam","Customer Connection","http://example","abcd");
               
                //Create a membership
                 string sAccount = "domainname\\username";
                UserProfile u = profileManager.GetUserProfile(sAccount);
                u.Memberships.Create(newGroup,
                    MembershipGroupType.UserSpecified, 
                    "Customer Connection Team", Privacy.Organization);
               }
            }

        }
    }

请参阅

任务

如何:创建用户配置文件和组织配置文件