我正在使用 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 等的替代品?