如何判断 SPUser 是否是 Active Directory 帐户

本文关键字:是否是 Active Directory 帐户 SPUser 何判断 判断 | 更新日期: 2023-09-27 18:36:56

我正在做一个项目,客户希望将某些内容限制为仅 Active Directory 用户。 有没有办法确定 SPUser 是 AD 用户,而无需解析域的用户名字符串(或类似内容)。 像SPUser.IsADUser这样的东西会很棒。

编辑这似乎有效,但我不确定这是否足够可靠? 对于此用例,确定用户是 Windows 用户就足够了(没有本地系统帐户)

SPUser user = SPContext.Current.Web.CurrentUser;
string userName = user.LoginName.Substring(user.LoginName.IndexOf('|') + 1);
SPPrincipalInfo info = SPUtility.ResolveWindowsPrincipal(SPContext.Current.Site.WebApplication, userName, SPPrincipalType.User, false);
if(info != null){
    //THIS IS A WINDOWS ACCOUNT
}

如何判断 SPUser 是否是 Active Directory 帐户

根据我的经验,为此目的使用受众要好得多。然后,可以使用"访问群体"属性轻松修剪任何 Web 部件。您可以在此处阅读有关受众的信息。当然,它只有在配置了用户配置文件同步时才有效。

相关文章: