【发布时间】:2022-01-14 17:37:23
【问题描述】:
我有 SharePoint Online 经典页面,其中实现了一些自定义 JavaScript 和 jQuery 脚本以及需要一些基本身份验证的第三方 .NET 应用程序。当用户访问该页面时,系统会提示他输入用户名和密码。如何从此提示中获取用户名?提示是标准的,看起来像这样(图片不是我的)
【问题讨论】:
标签: javascript jquery sharepoint basic-authentication
我有 SharePoint Online 经典页面,其中实现了一些自定义 JavaScript 和 jQuery 脚本以及需要一些基本身份验证的第三方 .NET 应用程序。当用户访问该页面时,系统会提示他输入用户名和密码。如何从此提示中获取用户名?提示是标准的,看起来像这样(图片不是我的)
【问题讨论】:
标签: javascript jquery sharepoint basic-authentication
您可以使用 SharePoint 的 javascript API 来检索当前用户的信息。
_spPageContextInfo.userId
另一个建议是使用 API:
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getCurrentUser, "sp.js");
var currentUser;
function getCurrentUser(){
var ctx= new SP.ClientContext.get_current();
var web = ctx.get_web();
currentUser = web.get_currentUser();
ctx.load(currentUser);
ctx.executeQueryAsync(onSuccess, onFailure);
}
function onSuccess() {
alert(currentUser.get_title()); // Domain\Account
alert(currentUser.get_email());
document.getElementById('userLogin').innerHTML = currentUser.get_loginName();
}
function onFailure() {
alert('request failed' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>
<div>Currently Logged User:
<span id="userLogin"></span>
</div>
【讨论】:
如果有人对此仍然感兴趣,我找到了一种使用 microsoft graph API https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http 获取用户主体名称的方法
https://graph.microsoft.com/v1.0/me?$select=mailnickname,onpremisesUserprincipalName 是我需要的实际请求
【讨论】: