gpt4 book ai didi

jquery - SPServices.SPGetCurrentUser 在 https 环境中引发安全警告

转载 作者:行者123 更新时间:2023-12-01 03:17:02 26 4
gpt4 key购买 nike

我正在使用 SPServices.SPGetCurrentUser 来获取当前登录的用户,然后确定他们所在的组,最后根据该确定禁用一个字段。它有效,但有一个大问题。这是仅 SP 2010 Foundation Intranet 环境,并且是安全的 (SSL)。因此,访问我们网站的唯一方法是通过 https://internalurl

我以前在使用 SPServices 时从未遇到过此问题,但使用此代码时,我收到 IE 安全警告:“您只想查看安全传送的网页内容吗?”

通过一次注释一行,我确定 SPServices.SPGetCurrentUser 行是导致警告的原因。我想这与如何/在哪里寻找此信息有关?

我的问题是,有什么办法可以绕过这个警告吗?以下是我迄今为止发现的解决方案,其中没有一个真正适合我的场景:1. 将站点添加到 IE 受信任站点,或以其他方式调整浏览器安全设置。 (我们有3000+用户,不想走这条路)2. 自定义编码解决方案。 (不是一个选项,我们只是无代码。JQuery 和 SPServices 是我们所能做的)3. 不要使用SSL。 (不是一种选择。我们是一家金融机构,甚至像这样的内部 URL 也只能通过 SSL 访问。)

代码如下:

<script language="javascript" type="text/javascript" src="/CodeLibrary/jquery.SPServices-0.7.1a.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: $().SPServices.SPGetCurrentUser(),
async: false,
completefunc: function(xData, Status) {
//if current user is not a member of this group...
if($(xData.responseXML).find("Group[Name='Change Control - Admins']").length != 1)
{
//...disable the following fields
$("textarea[Title='Requirements']").attr("disabled", "disabled");
}
}
});
});
</script>

有什么想法吗? SPServices.SPGetCurrentUser 等的替代品?

最佳答案

我自己解决了这个问题。这就是我所做的...

SPServices.SPGetCurrentUser 引用/_layouts/文件夹中的文件。在 SPServices 代码中,该引用是相对的。无论出于何种原因,SharePoint 都不会自动使用 https 来查找它。它只使用http...至少据我所知。所以我所做的就是复制 jquery.SPServices-0.7.2.min.js 文件,将其重命名为 jquery.SPServices-0.7.2.min.ssl.js,然后更新对/_layouts/文件夹的所有引用(只有几个),完整的 https URL。这解决了问题。不再弹出安全警告,代码按预期工作。

希望这对某人有用!

关于jquery - SPServices.SPGetCurrentUser 在 https 环境中引发安全警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com