Открыть файл, используя имя пользователя и пароль - PullRequest
2 голосов
/ 13 июня 2011

Я создаю менеджер документов winforms.Я хотел бы разрешить пользователю загружать и открывать документы с защищенного сетевого диска.

Для приложения будут установлены конкретные имя пользователя и пароль, чтобы только приложение могло получить доступ к файлам.

Обычно, когда я разрешаю пользователю открыть файл, я использую команду OpenFileDialog.Как добавить имя пользователя и пароль?

Спасибо.

РЕДАКТИРОВАТЬ

Найден дополнительный код:

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

Благодарю оригинальному автору, есть лиПреимущества / недостатки использования этого метода?

...