簡體   English   中英

使用Windows身份驗證的WPF應用程序

[英]WPF application with Windows authentication

我有一個簡單的wpf客戶端(幾個文本框),可以將一些數據上傳到Web服務。 我想使用Windows身份驗證來使用我的應用程序。

我正在檢查App.xaml的OnStartup,無論用戶是否經過身份驗證。 我的問題是關於Thread.CurrentPrincipal.Identity.IsAuthenticated的含義是什么。

我不希望我的應用程序在網絡外部使用,因為它連接到Web服務並上傳數據。 但我的假設是,只要您從任何Windows網絡中運行此應用程序,上述屬性將始終返回true?

那么如何確定應用程序是否從我的網絡內部運行。 我不認為檢查域名或角色名稱是否有任何不同,因為我總是可以設置域名並將其命名為我想要的任何名稱。 我不想提示用戶輸入任何類型的用戶名或密碼。

如何檢查用戶對特定AD的身份(AD可能不是公開可用的)。 基本上,應用程序只能在我的本地網絡或VPN上運行。

var context = new PrincipalContext(ContextType.Domain, "DOMAINNAME");
var result = UserPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, userName);

如果結果為null,則AD域中不存在該用戶。

您還可以使用DirectorySearcher類根據篩選條件查詢AD。 僅當您想要檢索有關用戶的其他詳細信息(如聯系人,電子郵件地址等)時,此功能才更有用。

暫無
暫無

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

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