sharepoint - 检查指定用户是否属于特定组
问题描述
我在 SharePoint Exchange 上发布了这个问题,但没有引起任何注意。任何帮助将不胜感激。
我已经实现了一个站点并添加了一个名为“ SG_Uploader
”的 SharePoint 组。
在这个组中,我ONLY
有一个名为“”的 Active Directory 组AD_L6
,并且 AD_L6 中有很多用户。
如果用户来到网站,我想检查他是否可以上传文档,我使用下面的代码,非常简单:
SPWeb web = // ...
SPGroup group = web.SiteGroups["SG_Uploader"];
if (group.ContainsCurrentUser)
{
// allow user to upload
}
现在,我想做同样的事情,不是针对当前用户,而是针对我拥有他的用户名的特定用户。这意味着我想写一个像
SPWeb web = // ...
SPGroup group = web.SiteGroups["SG_Uploader"];
if (group.ContainsUser(username))
{
// allow user to upload
}
我想不出谁能做到这一点。请指教。
解决方案
以下代码供您参考。
var username = "user1";
var spGroupName = "SG_Uploader";
var adGroupName = "AD_L6";
using (SPSite spSite = new SPSite("http://sp2013/sites/team/"))
{
using (SPWeb spWeb = spSite.OpenWeb())
{
SPUser user = spWeb.EnsureUser(adGroupName);
if (user.Groups.Cast<SPGroup>().Any(g => g.Name.Equals(spGroupName)))
{
var principalContext = new PrincipalContext(ContextType.Domain);
var group = GroupPrincipal.FindByIdentity(principalContext, adGroupName);
var isGroupMember = group.Members.Any(x => x.Name == username);
if (isGroupMember)
{
Console.WriteLine("User " + username + " is a member of group " + spGroupName);
}
else
{
Console.WriteLine("User " + username + " is not a member of group "+spGroupName);
}
}
}
}
推荐阅读
- javascript - 以这种方式放置 getElementById 后,排序功能无法按预期工作
- c# - 此代码将生成一个 wav 文件,但不包含任何录音
- image - 如何从python中的图像列表中获取R,G,B
- c++ - 重载向量的多维数组运算符
- flutter - 没有为 Flutter 中的类 TagColumn 定义 Getter _text
- kotlin - 我很困惑为什么不能在片段类中调用意图
- javascript - Javascript DOM,如何确定触发了哪个事件侦听器?
- excel-formula - 查找,三个 if 结果
- sql - 如何根据 SQL 中的字符串分组分配值?
- metpy - ArtistAnimation 使用 contourf 绘制模型图