簡體   English   中英

獲取ID? 像SharePoint這樣的當前用戶可以嗎?

[英]Get the ID? of the current user like SharePoint can?

我在一個客戶站點上,那里有一個始於SharePoint的應用程序,並且正在慢慢遷移到一個非常自定義的ASP.NET應用程序。 他們的某些數據元素仍托管在SharePoint列表中,其中兩個當前有問題的是一些“注釋”和“任務”(它們在SharePoint設置中非常簡單的數據元素,對此沒有特殊要求)。 我需要在ASP.NET中執行的操作之一是自動為這些列表創建一些新項,然后從代碼中添加它們。

到目前為止,這很容易。 我找到了一個現有的Web部件,用於處理這些項目的編輯,將調試器附加到該Web部件,跟蹤它如何獲取其值以及它添加到列表中的內容,等等。但是,添加到列表項目中的字段之一是“相當明顯。 在現有的Web部件UI中,該字段如下所示:

分配給字段

本質上,這是一個用於從當前Windows域輸入用戶的字段。 書籍圖標會打開一個彈出窗口,允許用戶搜索名稱等。在我當前的測試中,我正在開發計算機上以本地管理員身份運行。 因此,我只是在彈出窗口中查找“ admin”,然后按預期的那樣用“ [計算機名稱] \\ Administrator”填充了該字段。 然后,在調試中,從字段中提取並輸入到SharePoint列表項中的值是“ 1”,而不是名稱或類似名稱。

我假設“ 1”是本地管理員帳戶的標識符。 畢竟是有道理的。 但是我的問題是,如何在代碼中獲取當前登錄用戶的標識符? 我找到了獲取當前用戶名的代碼,但沒有任何類型的數字(即使是字符串)ID。

此外,這不僅會在ASP.NET應用程序上下文中發生。 還有一個用於筆記本電腦的WPF客戶端應用程序,它將生成這些列表項,並在連接時將它們同步回服務器。 我目前正在假設客戶端用戶將使用服務器已知的正確域帳戶登錄。

我想這很容易,只是我還沒有偶然發現我所需要的東西。

我想您正在尋找這個:

int userId = SPContext.Current.Web.CurrentUser.ID;

順便說一句,這是SharePoint分配給用戶的內部ID。 若要從WPF應用程序獲取此ID,可以在SharePoint中部署WebService並返回此ID。 或者甚至可以查詢SharePoint數據庫,但是我不確定它是否安全:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM