首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让PrincipalContext在SharePoint 2010中使用基于索赔的身份验证

无法让PrincipalContext在SharePoint 2010中使用基于索赔的身份验证
EN

Stack Overflow用户
提问于 2013-10-18 00:59:37
回答 1查看 3.5K关注 0票数 0

我使用的是SharePoint 2010,在我们的生产环境中,我似乎无法得到这些代码来返回任何东西。服务器是为基于索赔的身份验证设置的。

代码语言:javascript
复制
private string GetADName(string userID)
{
    try
    {
        PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

        // define a "query-by-example" principal - here, we search for a UserPrincipal 
        // and with the first name (GivenName) of "Bruce" and a last name (Surname) of "Miller"
        UserPrincipal qbeUser = new UserPrincipal(ctx);
        qbeUser.SamAccountName = userID;

        // create your principal searcher passing in the QBE principal    
        PrincipalSearcher srch = new PrincipalSearcher(qbeUser);

        // find all matches
        foreach (var found in srch.FindAll())
        {
            return found.Name;
        }
    }
    catch (Exception ex)
    {
        this.lblErrors.Text = ex.Message + "<br />\r\n" + ex.StackTrace;
    }
    return "";
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-24 00:21:26

我不得不使用HostingEnvironment.Impersonate()

代码语言:javascript
复制
    private string GetADName(string userID)
    {
        try
        {
            using (HostingEnvironment.Impersonate())
            {

                PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

                UserPrincipal qbeUser = new UserPrincipal(ctx);

                qbeUser.SamAccountName = userID.ToLower();

                PrincipalSearcher srch = new PrincipalSearcher(qbeUser);

                foreach (var found in srch.FindAll())
                {
                    if (found.SamAccountName.ToLower() == userID.ToLower())
                    {
                        return found.Name;
                    }
                }
            }
        }
        catch (Exception ex)
        {
        }
        return "";
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19439873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档