在Sharepoint中检索用户名?

时间:2010-10-05 18:18:57

标签: sharepoint variables

Sharepoint如何检索右上角显示的用户实际名称?例如Welcome John Smith

我需要在XSL编辑器中将此名称称为自定义代码的变量或参数,但我无法弄清楚如何检索它,它是一个全局变量吗?

4 个答案:

答案 0 :(得分:1)

您可以使用服务器变量LOGON_USER获取用户的帐户名称。但是,这不会返回用户的显示名称。

我能够通过Web部件的组合来显示其名称:

  1. 添加UserContextFilterWebPart(您可能需要在网络部件库中启用此Web部件)。
  2. 添加一个DataView webpart,用于查询GetUserInfo方法(UserGroup.asmx Web服务的一部分)。
    • 一个。单击“XML Web服务”下的“数据源库”窗格中的“连接到Web服务...”
    • 湾输入服务描述位置(UserGroup Web服务的URL)。例如:http://server/sites/SiteCollection/SubSite/_vti_bin/UserGroup.asmx?WSDL
    • ℃。单击“连接(或重新连接)”
    • d。选择GetUserInfo作为操作下拉列表(其他下拉列表应该没问题)
    • 即修改userLoginName参数并选中该框以允许通过Web部件连接设置该值。我还添加了一个默认值来测试(例如:domain \ login)。
    • F。单击“确定”。
    • 克。单击数据源,然后单击“显示数据”
    • 小时。选择所需的列,然后将它们拖到页面上
  3. 使用Web部件连接(提供给DataView的UserContext)将它们连接在一起。

答案 1 :(得分:1)

如果你想使用SPServices(这很棒,顺便说一句):

function getCurrentUsersName(){
var firstName = $().SPServices.SPGetCurrentUser({
    fieldName: "FirstName",
    debug: false
});
return firstName;
}

function getCurrentUsersLastName(){
var lastName = $().SPServices.SPGetCurrentUser({
    fieldName: "LastName",
    debug: false
});
return lastName;
}

您可以查找许多其他类似的字段名here

答案 2 :(得分:0)

我相信它是通过NTLM身份验证/ Active Directory进入的。我通常在HttpContext.Current.User.Identity.Name字段中获取登录名DOMAIN / User,然后与Active Directory匹配并返回用户的实际名称。

答案 3 :(得分:0)

SPContext.Current.Web.CurrentUser.LoginName将为您提供当前用户登录名的值,如标准门户网站右上角所示。

如果要在XSLT中使用它,则需要找到一种在运行时将其分配给XSL参数值的方法。