【问题标题】:Programmatically Lookup a User in SharePoint以编程方式在 SharePoint 中查找用户
【发布时间】:2011-03-22 08:09:19
【问题描述】:

我遇到了一种情况,我需要能够通过用户的活动目录名称来查找用户。我尝试在 SPSite.Users、SPSite.AllUsers 和 SPSite.SiteUsers 属性中查找用户,但不能保证用户在这些列表中的任何一个中。对于通过已被授予站点权限的活动目录组获得站点权限的用户,在各种用户列表中没有该用户的列表,只有活动目录组的记录。有没有办法在 SharePoint 中以编程方式查找用户,而无需直接通过 LDAP 查询活动目录?

理想情况下,我希望找到一种适用于基于表单的身份验证和 AD 身份验证的机制,但我需要找到一种适用于 AD 身份验证的机制。

【问题讨论】:

    标签: c# sharepoint sharepoint-2007 active-directory forms-authentication


    【解决方案1】:

    试试SPWeb.EnsureUser:

    检查指定的登录名是否属于网站的有效用户,如果登录名不存在,则将其添加到网站

    此方法适用于 AD 和 FBA。如果您同时使用两者,则需要在非默认提供程序的用户名前加上以下内容:

    SPUser webUser = web.EnsureUser("SecondaryProvider:" + userName);
    

    【讨论】:

    • 这似乎倒退了,没有可以查询的全局列表,但是在运行 EnsureUser 之后,用户会出现在 SPSite.SiteUsers 列表中。然后,您可以从列表中获取我所需要的 SPUser 对象。
    • @ICodeForCoffee 但是 EnsureUser 正在返回 SPUser 对象。
    猜你喜欢
    • 2018-05-18
    • 1970-01-01
    • 2011-12-15
    • 2015-03-25
    • 2010-10-25
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    相关资源
    最近更新 更多