1

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

1 回答 1

0

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

于 2013-10-28T13:42:26.507 回答