일반적으로 탐색기를 열 때 내 자격 증명을 입력해야하는 Directory.GetFiles()가있는 네트워크 폴더에 액세스 할 수 있습니까?Directory.GetFiles()를 사용하여 보안 네트워크 폴더에 액세스 할 수 있습니까?
0
A
답변
6
실행중인 사용자가 (프로필 로딩을 사용하는) 로그온 사용자이고 자격 증명을 입력하여 원격 경로에 이미 액세스 한 경우 사용자 프로필이로드 된 상태로 실행될 수있는 응용 프로그램은 아무 것도 실행하지 않고 UNC 경로에 액세스해야합니다 로그인.
그렇지 않으면, 당신은이 piece of code to logon you can find in GitHub를 사용할 수 있습니다
using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials())
{
if (unc.NetUseWithCredentials("uncpath", user, domain, password))
{
// Directory.GetFiles() here
}
}
0
그것은 가능하다. 보통 시스템에 자격 증명을 전달하는 프로세스가 생성됩니다. 정확히이 작업을 수행하는 코드는 아래를 참조하십시오. 프로세스가 완료되면 네트워크 공유를 사용할 수 있습니다.
public void MapPath() {
string strServer = “ServerName”;
string strShare = “ServerShare”;
string strUsername = “ServerUsername”;
string strPassword = “ServerPassword”;
Process pNetDelete = new Process();
pNetDelete.StartInfo.CreateNoWindow = true;
pNetDelete.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pNetDelete.StartInfo.UseShellExecute = false;
pNetDelete.StartInfo.FileName = “net”;
pNetDelete.StartInfo.Arguments = string.Format(“use /DELETE {0}\
{1} /Y”, strServer, strShare);
pNetDelete.Start();
pNetDelete.WaitForExit();
Process pNetShare = new Process();
pNetShare.StartInfo.CreateNoWindow = true;
pNetShare.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pNetShare.StartInfo.UseShellExecute = false;
pNetShare.StartInfo.RedirectStandardError = true;
pNetShare.StartInfo.RedirectStandardOutput = true;
pNetShare.StartInfo.FileName = “net”;
pNetShare.StartInfo.Arguments = string.Format(“use \\{0}\{1} /u:"{2}" "{3}"”,
strServer, strShare, strUsername, strPassword);
pNetShare.Start();
pNetShare.WaitForExit();
string strError = pNetShare.StandardError.ReadToEnd();
if (pNetShare.ExitCode != 0)
{
throw new Exception(strError);
}
}
관련 문제
- 1. 공유 네트워크 폴더에 액세스
- 2. ASP.NET 네트워크 서비스 계정으로 네트워크 폴더에 액세스
- 3. 파이썬 tkFileDialog를 사용하여 네트워크 드라이브 폴더에 액세스
- 4. 공유 폴더에 액세스 할 수 없습니다.
- 5. URL 및 Directory.GetFiles를 사용하여 사진 수 얻기
- 6. 네트워크 맵 드라이브에 액세스 할 수 없음
- 7. 사용자 이름 암호가있는 네트워크 드라이브의 폴더에 액세스
- 8. UnauthorizedAccessException을 사용하여 네트워크 공유 폴더에 파일을 쓰시겠습니까?
- 9. 하위 도메인의 폴더에 액세스 할 수 없습니까?
- 10. TYPO3 해당 폴더에 액세스 할 수 없습니다.
- 11. 서비스가 폴더에 액세스 할 수 없습니다.
- 12. 왜이 폴더에 액세스 할 수 없습니까?
- 13. 현재 플러그인에서 다른 플러그인의 리소스 폴더에 액세스 할 수 있습니까?
- 14. Powershell에서 네트워크 공유에 액세스 할 수 없습니다.
- 15. 업로드 된 파일을 보안 폴더에 저장하는 방법 및 asp.net 코어에서 안전하게 액세스 할 수 있습니까?
- 16. 기본 제공 계정을 사용하여 IIS7의 다른 네트워크 드라이버에 액세스 할 수 있습니까?
- 17. 가장없이 MVC3의 네트워크 위치에 액세스 할 수 있습니까?
- 18. 네트워크 보안 관련
- 19. android/data 폴더에 액세스 할 수 없습니다.
- 20. git 폴더에 액세스 할 수 없습니다
- 21. android/data 폴더에 액세스 할 수 없습니까?
- 22. 우분투에서 파일이나 폴더에 액세스 할 수 없습니다.
- 23. Vagrant 공유 폴더에 액세스 할 수 없습니다.
- 24. public_html의 폴더에 액세스 할 수 없습니다.
- 25. ssh 이후에 폴더에 액세스 할 수 없습니다.
- 26. 비활성화 특정 이름의 폴더에 액세스 할 수
- 27. Codeigniter 하위 폴더에 액세스 할 수 없습니다.
- 28. 네트워크 드라이브에서 파일에 액세스 할 수 없습니다.
- 29. 웹 응용 프로그램에서 클라이언트 측의 폴더에 액세스 할 수 있습니까?
- 30. vb.net에서 자격 증명이있는 원격 폴더에 어떻게 액세스 할 수 있습니까?
나는이 대답을 수는 http://stackoverflow.com/a/1197430/2392330 – idlerboris