删除仅具有部分登录名的 SharePoint 用户

Posted

技术标签:

【中文标题】删除仅具有部分登录名的 SharePoint 用户【英文标题】:Remove SharePoint User with Only Partial Login Name 【发布时间】:2017-01-15 18:56:50 【问题描述】:

我需要从网站集中删除用户的权限。问题是我没有完整的登录名。每个用户都有一个唯一的登录名(例如 DOMAIN/012345678.cnd)“cnd”部分可以根据用户更改,数字部分始终是唯一的。

所以我想要做的是传递一个变量,其中只有数字部分是已知的,然后基于此,它会删除用户。

我有以下代码:

using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
            SPGroupCollection collGroups = oWebsiteRoot.SiteGroups;
            SPUser oUser = oWebsiteRoot.SiteUsers[""];
        

所以需要一些方法来将 oUser 设置为 loginName,仅给出数字部分。我总是可以很容易地获得域。这是我无法得到的数字序列之后的最后一部分。

【问题讨论】:

【参考方案1】:

这不是一个干净的解决方案,但它是一个开始:

           SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb;

            SPGroupCollection collGroups = oWebsiteRoot.SiteGroups;
            foreach(SPGroup group in collGroups)
            
                for(int i=group.Users.Count; i>=0;i--)
                
                    SPUser user = group.Users[i];
                    if (listOfDecimalsToBeDeleted.Contains(getUserDecimalPart(user.LoginName)))
                    
                        group.RemoveUser(user);
                    
                
            

【讨论】:

以上是关于删除仅具有部分登录名的 SharePoint 用户的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver2012不带登录名的用户

来自同一登录名的 Laravel Multi-auth(多个用户表)

删除SharePoint页面顶部的大标题

sharepoint 列表和登录用户问题

从 CreateUserWizard asp.net 4.0 中删除用户名字段

如何在 Sharepoint 中找到已登录的用户?