2011-05-17 299 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中的新功能是將工作流的大塊作爲設計工作流程的人員執行,而不是啓動工作流程實例的人員。這可以用來解決您的權限問題。