0
http://server/managed_path/sitecoll/basic
http://server/managed_path/sitecoll/blank
http://server/managed_path/sitecoll/decision
http://server/managed_path/sitecoll/multipage
http://server/managed_path/sitecoll/social
我怎麼能說DoesUserHavePermissions() - 或類似的東西 - 以找出是否在當前登錄的用戶可以訪問網站?
我寫一個用戶控件輸出工作區的列表,他們可以訪問,但是當我嘗試檢查,我收到了各種各樣的錯誤,我似乎無法使用此代碼來解決:
foreach (String s in workspaces)
{
using (SPSite site = new SPSite(s))
{
using (SPWeb web = site.OpenWeb(s))
{
// web.DoesUserHavePermissions(...)
}
}
}
好的答案,但我不認爲如果用戶無法訪問它,您將無法打開網頁。最好的情況是,它會拋出一個FileNotFound異常,最糟糕的情況是它會打開SPSite的web,沒有例外。小心使用OpenWeb,並確保它獲得您正在尋找的網頁。 – 2010-01-21 17:15:58
@Kit Menke,當您使用SystemAccount的用戶令牌打開SPSite對象時,您*是系統帳戶。因此,您可以執行系統帳戶可以執行的任何操作。 – naivists 2010-01-21 19:39:10
對不起,我顯然沒有仔細閱讀。 :)作爲系統帳戶,您可以訪問所有內容。我不明白如何通過系統帳戶來確定當前用戶是否可以打開URL ... – 2010-01-21 21:36:43