我正在创建一个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