我有一個具有區域級安全性的SharePoint 2010網站。該網站在默認區域中具有Windows身份驗證,而在Extranet區域中具有基於聲明的身份驗證。會員提供商用於Claimed Based網站。在基於SharePoint 2010聲明的網站(Extranet區域)上添加programmaticaly用戶
我的要求是以編程方式將該成員資格提供程序的用戶添加到此聲明的網站中(c#)。
任何幫助將不勝感激。
感謝
我有一個具有區域級安全性的SharePoint 2010網站。該網站在默認區域中具有Windows身份驗證,而在Extranet區域中具有基於聲明的身份驗證。會員提供商用於Claimed Based網站。在基於SharePoint 2010聲明的網站(Extranet區域)上添加programmaticaly用戶
我的要求是以編程方式將該成員資格提供程序的用戶添加到此聲明的網站中(c#)。
任何幫助將不勝感激。
感謝
對於加入要求的用戶,你需要爲創建一個模式:
i:0#.f|{MembershipProvider}|{UserName}
我希望下面的代碼給你足夠的細節來解決此問題:
string userName = "dipesh";
string membershipProvider = "MyCustomMP";
string claimUser = string.Format("i:0#.f|{0}|{1}", membershipProvider, userName);
SPUser user = web.EnsureUser(claimUser);
如果你說,它在控制檯應用程序中運行良好,那麼我相信它應該只是許可問題。請注意,高架運行將無法正常工作,因爲您已將其作爲Windows服務託管,並且不會有應用程序池。如我錯了請糾正我。運行Windows服務的用戶應具有添加用戶的適當權限。嘗試使用運行控制檯應用程序的當前登錄用戶運行Windows服務。如果它不起作用,請嘗試使用Farm Admin。即使成功,也可以與其他低級特權用戶一起測試,以便您確切瞭解所需的權限。 我希望你儘快解決你的問題。
謝謝Dipesh的答案。 – Prakash