2013-07-22 73 views
1

我正在以編程方式向某些SharePoint組中添加AD用戶。Sharepoint 2010將用戶添加到SharePoint組時,未採取任何權限

spWeb.AllowUnsafeUpdates = true; 
SPUser lookupUser = spWeb.EnsureUser(username); 
if (lookupUser != null) 
{ 
    spGroup.AddUser(lookupUser); 
} 
spWeb.AllowUnsafeUpdates = false; 

已經試着運行這個(用管理員帳戶登錄)並嘗試使用提升的權限運行。

根據需要將用戶添加到組中。問題是,當我在「網站權限」下使用SharePoint功能「檢查權限」時,它顯示用戶沒有權限。

我在互聯網上看到的任何地方只是顯示使用AddUser方法。我錯過了什麼嗎?

回答

0

檢查WebApplication是否使用聲明身份驗證...如果是這樣,您可能使用錯誤的用戶名或有多個用戶名不同的類似用戶(「我:0#.w | \」和「」) - >檢查/_catalogs/users/simple.aspx。 從SiteCollection中刪除錯誤的一個。

+0

這是問題所在。在添加和刪除的不同情況下,使用標準的sharepoint admin,它與「i:0#.w |」的用戶混在一起沒有。 謝謝@pyranha。 –

0

您的羣組似乎缺少對該網站的實際權限。您是否指派該團體至少閱讀對該網站的許可?如果不是檢查權限功能按預期工作。有關代碼示例,請參閱此answer以分配組的一些權限。

如果該組具有權限,則可能問題在於將用戶添加到組後缺少對spGroup.Update()的調用。你有沒有試過調用這個方法?

+0

這些組擁有權限。如果我使用標準SharePoint功能將用戶手動添加到組中,它就可以工作。用戶獲得組擁有的權限。當我使用上述代碼時,不會執行權限。很奇怪。 –

+0

@PhilPrett你有沒有試過調用'spGroup.Update()'方法(看我編輯的答案)? – tomasdeml

相關問題