簡體   English   中英

通過VPN從.NET客戶端進行域身份驗證

[英]Domain Authentication from .NET Client over VPN

我正在寫一個ClickOnce WPF應用程序,有時會在VPN上使用。 該應用程序使用僅對域身份驗證的用戶可用的資源。 其中包括訪問SSRS報告,訪問LDAP查找用戶信息,訪問Web服務等。

當用戶從未經域驗證的計算機登錄時,我需要以某種方式獲取其憑據,在域上進行身份驗證,並存儲其憑據。

  1. 通過VPN驗證域用戶的推薦方法是什么?
  2. 如何安全地存儲憑據?

我發現了幾篇文章,但最近卻沒有發布太多,而且許多解決方案似乎有些怪異,或者也不是很安全(例如,將字符串以純文本形式存儲在內存中)。

如果可以使用ActiveDicrtoryMembershipProvider,那就太酷了,但這似乎適合在Web應用程序中使用。

編輯:以上是一種解決方法。 用戶必須輸入其域憑據才能在VPN上進行身份驗證。 最好是訪問用戶已經輸入的用於登錄VPN的憑據,而不是WindowsIdentity.GetCurrent()(返回登錄到計算機的用戶)。 關於如何工作的任何想法? 我們使用瞻博網絡連接到VPN。

回答我基本上完成了下面鏈接中建議的操作。 應用啟動時,我將檢測用戶是否在域中。 如果是這樣,我將在致電服務時使用這些憑據。 如果用戶在VPN上(但不在域身份驗證的計算機上),則提示輸入用戶的憑據並通過System.DirectoryServices進行身份驗證。 如果用戶提供有效的憑據,我將把域,用戶和密碼存儲在SecureString中。 然后,該應用程序使用該信息來創建憑據以傳遞給各種服務。

謝謝!

這個問題的答案可能會有所幫助。

- 編輯 -

好吧,只是在想...

暫無
暫無

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

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