我正在創建一個winforms文檔管理器。我想允許用戶上傳到受保護的網絡驅動器並打開文檔。使用用戶名和密碼打開文件
將爲應用程序設置特定的用戶名和密碼,以便只有應用程序才能訪問這些文件。
通常,當我允許用戶打開文件時,我使用OpenFileDialog命令。我如何添加用戶名和密碼?
謝謝。
EDIT
找到一些額外的代碼:
Public Class ImpersonateUser
Private Declare Auto Function LogonUser Lib "advapi32.dll" (_
ByVal lpszUsername As String, _
ByVal lpszDomain As String, _
ByVal lpszPassword As String, _
ByVal dwLogonType As Int32, _
ByVal dwLogonProvider As Int32, _
ByRef phToken As IntPtr _
) As Int32
Private Declare Auto Function ImpersonateLoggedOnUser Lib "advapi32.dll" (_
ByVal hToken As IntPtr _
) As Int32
Declare Auto Function RevertToSelf Lib "advapi32.dll" (_
) As Int32
Private Function ImpersonateValidUser(_
ByVal Username As String, _
ByVal Domain As String, _
ByVal Password As String _
) As Boolean
Dim LogonType As Int32
Dim LogonProvider As Int32
Dim Tk As IntPtr
LogonType = 2 ' Interactive.
LogonProvider = 0 ' Default Provider.
If LogonUser(Username, Domain, Password, LogonType, LogonProvider, Tk) <> 0 Then
Return (ImpersonateLoggedOnUser(Tk) <> 0)
End If
Return False
End Function
Private Sub UndoImpersonation()
RevertToSelf()
End Sub
Sub test()
If ImpersonateValidUser("accountname", "Domainname", "password") Then
' This code runs unter the privileges of the impersonated user.
Process.Start("C:\foo.exe")
UndoImpersonation()
End If
End Sub
End Class
信用原作者,是否有任何優點/缺點,使用該方法?
你在的地方有一個用戶認證系統已經爲你的用戶?如果是這樣,它是什麼樣的? – 2011-06-13 02:00:21
我們的大部分客戶都會使用windows server,所以有活動目錄。儘管我打開所有的建議。 – Reafidy 2011-06-13 02:15:59