SharePoint 2010:使用 ECMAScript 打破角色继承

发布于 2024-10-14 14:19:54 字数 604 浏览 6 评论 0原文

有谁知道如何使用 ECMAscript 打破网络上的角色继承(即停止从其父级继承权限)?

这是我尝试使用的 JavaScript 代码,但出现运行时错误,指出属性尚未正确初始化:

var clientContext = new SP.ClientContext.get_current();
var web = clientContext.get_web();
clientContext.load(web);

if (!web.get_hasUniqueRoleAssignments()) {
    web.breakRoleInheritance(true, false);
}

有趣的是,如果我在调试期间询问 Web 对象,我可以看到 hasUniqueRoleAssignments 属性和 breakRoleInheritance 函数DO 事实上存在。此外,MSDN 声明这两个成员都可以在 SP.SecurableObject class —— 我假设 Web 或 List 都会继承自此类。

有什么想法吗?

Does anybody know how to break role inheritance on a web (i.e. stop inheriting permissions from its parent) using ECMAscript?

This is the JavaScript code that I am trying to use, but I get a runtime error stating that the properties have not been properly initialised:

var clientContext = new SP.ClientContext.get_current();
var web = clientContext.get_web();
clientContext.load(web);

if (!web.get_hasUniqueRoleAssignments()) {
    web.breakRoleInheritance(true, false);
}

Interestingly, if I interogate the web object during debugging, I can see that both the hasUniqueRoleAssignments property and breakRoleInheritance function DO in fact exist. In addition, MSDN states that both these members are available on the SP.SecurableObject class -- I would've assumed that both a Web or List would inherit from this class.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

屋檐 2024-10-21 14:19:54

根据检索客户端对象不会检索所有属性,您将需要调用executeQueryAsync并在委托函数内使用get_hasUniqueRoleAssignments:

在服务器对象模型中,当您返回 SPWeb 对象时,它的所有属性都可以在代码中使用。但为了提高客户端对象模型的性能,当您返回 Web 对象时,某些属性不会包含在内,您必须显式检索它们。例如,Web 类从 SecurableObject 类继承 HasUniqueRoleAssignments 属性,但当您返回 Web 对象时,默认情况下不会检索此属性。

According to Retrieving a Client Object Does Not Retrieve All Properties, you will need to call executeQueryAsync and use get_hasUniqueRoleAssignments inside a delegate function:

In the server object model, when you return an SPWeb object, all of its properties become available for use in code. But to improve performance in the client object model, when you return a Web object certain properties are not included, and you must explicitly retrieve them. For example, the Web class inherits the HasUniqueRoleAssignments property from the SecurableObject class, but when you return a Web object this property is not retrieved by default.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文