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

时间:2013-10-25 14:25:12

标签: c# .net sharepoint sharepoint-2010 spuser

我正在开发一个项目,客户希望将某些内容仅限制为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
}

1 个答案:

答案 0 :(得分:0)

根据我的经验,将观众用于此目的要好得多。然后,您可以使用“受众”属性轻松修剪任何Web部件。您可以阅读有关受众群体here的信息。当然,只有配置了用户配置文件同步,它才会起作用。