如何使用Javascript在SharePoint中验证已登录的用户

6
我需要使用JavaScript在SharePoint Designer或内容编辑WebPart中检查已登录用户是管理员还是非管理员用户。
有人能提供建议吗?
3个回答

6
您可以使用SharePoint的core.js中定义的HasRights JavaScript函数,只需传递较低(限制)权限掩码以及上限即可。
请看有关使用Javascript检查Sharepoint 2007权限的帖子以及权限掩码列表。如果您想检查是否为管理员,可以尝试使用ManageWeb权限掩码:0x0000000040000000
编辑:另一个可能性是不使用HasRights函数,而是使用SPSecurityTrimmedControl来简单地设置全局Javascript变量。您可以在这里找到一个示例:SharePoint:基于用户权限/权限运行JavaScript。当然,这意味着额外的标记(并且不能在内容编辑器Web部件中工作),但它确实有效。

谢谢提供的链接。我想在新建表单(newform.aspx)中验证调查列表的用户。我们可以在该页面中使用HasRights方法吗?如果可以,那么我需要传递哪些参数给它? - Srikanth
我没有可用的SharePoint 2007,所以无法测试。只要加载了core.js,您就可以使用HasRights。参数在我发布的链接中有解释。 - Dennis G
我刚刚在我的内容编辑网页部件中添加了下面的脚本。没有结果。你能检查一下代码并让我知道还需要做什么吗?我已经检查了core.jas中是否定义了HasRights,但它并没有被定义。 <script language="javascript" type="text/javascript"> if(HasRights(0x0, 0x0000000040000000)) { alert("您具有管理员权限。"); } </script> - Srikanth
这似乎对我总是返回“true”..即使我没有权限。不过我在core.js中看到了它。 - Kit Menke

2
你可以使用 JQuery 和 SPServices 来检查已登录用户所属的群组,参见我的文章这里,该文章解释了原理。在这种情况下,如果用户属于特定的群组,则会隐藏一个元素。

-1
在 Web 部件上,编辑后会出现一个名为目标受众的字段。您只能在此处放置组,因此请先将用户放入组中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接