2011-05-17 143 views
3

在SharePoint中,当我需要执行一个动作时,用户没有权限这么做,我使用:提升权限

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
// DO SOMETHING WITH PRIVILEGES 
}); 

但现在我需要提升的权限执行JavaScript:

var context = new SP.ClientContext.get_current(); 
context.executeQueryAsync(); // NEED PRIVILEGES TO WORK 

这可能吗?

回答

7

不,这是不可能的。

用户将能够操纵JavaScript,这将打开一个巨大的安全漏洞。你可以在服务器端做到这一点。如果你需要这样的东西,它必须全部发生在服务器上。

+3

同意,这是沙箱环境背后的全部概念。您无法提升权限,面对提升权限被视为最后的做法是最佳做法。 – 2011-05-17 10:29:14

+0

好吧,将所有JavaScript代码移动到服务器。 FML。谢谢 – 2011-05-17 11:40:47

1

同意你不能用JavaScript做到这一点,如果可以的话,这将是愚蠢的。一种可以帮助您的场景是查看Designer无代码工作流程。 SP2010中的新功能是将工作流的大块作为设计工作流程的人员执行,而不是启动工作流程实例的人员。这可以用来解决您的权限问题。