Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 4
1

Как открыть файл для чтения/записи по локальной сети на удалённой машине?

18.07.2016, 07:37. Просмотров 802. Ответов 1
Метки нет (Все метки)


Проблема следующая.
1. В сети на одном компе есть расшаренная папка с доступом локального пользователя.у компа две подсети A и B и он не в домене.
2 Со 2-го компа из подсети A нужно открывать с этой расшаренной папки файл на чтение Он тоже не в домене.
3 Есть несколько компов из подсети B которые находятся в домене. из них нужно открывать файл на чтение и редактирование.

Накопал в инете следующее:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function GetAccessFromUser(UserName,UserDomain,PW:string;var hUserToken:THandle):boolean; //определяем есть такой пользователь в сети или нет
begin
  GetAccessFromUser:=true;
  if not LogonUser(PChar(UserName), PChar(UserDomain), PChar(PW), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hUserToken) then
  begin
    case GetLastError of
      ERROR_PRIVILEGE_NOT_HELD:showmessage('');
      ERROR_LOGON_FAILURE:showmessage('');
      ERROR_ACCESS_DENIED:showmessage('');
    else raise Exception.Create('Unable to logon');
 
    end;
    GetAccessFromUser:=false;
 
  end
  else begin
         //ImpersonateLoggedOnUser(hUserToken);
       end;
end;
 
function RevertAccess(hUserToken:THandle):boolean; //возвращаем доступ к текущему пользователю (я так понял)
begin
  if hUserToken <> 0 then
    RevertToSelf
end;
 
 
procedure TForm1.Button3Click(Sender: TObject); //действие
begin
ExtractFilePath(dbdir);
if GetAccessFromUser({Логин},{Имя домена},{пароль},hUserToken)
then begin
      ImpersonateLoggedOnUser(hUserToken);получаем доступ 
      {чтение файла или запись}
      RevertAccess(hUserToken);
     end;
end;
Для доменных пользователей эти процедуры работают, но для локального пользователя нет.
Подскажите как это сделать. (Пробовал комбинации Логин - имя компа\логин, домен - пустой либо имя компа)не находит пользователя
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2016, 07:37
Ответы с готовыми решениями:

Как открыть файл одновременно для чтения и для записи?
Делаю вот так, но ничего не получается.:( std::fstream inOutCredit(&quot;credit.dat&quot;, std::ios::ate |...

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

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

Необходимо открыть файл для записи и чтения, прочитать инфу изменить и записать.
Подскажите начинающему плиз. собственно необходимо открыть файл для записи и чтения, прочитать...

__________________
Помогаю в написании студенческих работ здесь.
1
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 4
26.07.2016, 06:15  [ТС] 2
По ходу ответа на мой вопрос нет?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2016, 06:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

Как открыть документ в браузере (на локальной машине)?
народ подскажите плиз как можно открыть документ в браузере, есле база находится на локальной...

Открыть файл в локальной сети
нужно открыть файл в локальной сети, чтобы его прочитать, хочу использовать FileStream, но не знаю,...

Открыть FolderBrowserDialog на удаленной машине
Приветствую! Допиливаю под себя Клиент-Сервер Вопрос, я могу открыть использовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.