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