Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];

Вниз

Запуск приложения от имени   Найти похожие ветки 

 
aHTuXpust ©   (2008-12-16 19:14) [0]

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

Рылся в сети, нашел пример решения, но он мне не совсем подходит:

function CreateProcessWithLogonW(user:pwidechar; domain:pwidechar;
passw:pwidechar; flags: DWORD; lpApplicationName: PwideChar; lpCommandLine: PwideChar;
 dwCreationFlags: DWORD; lpEnvironment: Pointer;
 lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo;
 var lpProcessInformation: TProcessInformation): BOOL; stdcall;external "advapi32.dll" name "CreateProcessWithLogonW";

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   si: TSTARTUPINFO;
   pif: PROCESS_INFORMATION;
begin
 si.cb := SizeOf(tstartupinfo);
  si.dwFlags  := STARTF_USESHOWWINDOW;
  si.wShowWindow := SW_SHOWDEFAULT;
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := nil;

 CreateProcessWithLogonW("test", nil, "password", 0,
    nil, "notepad.exe",0, nil, nil, si, pif);
end;


не подходит потому что в данном примере жестко задается имя пользователя и пароль, а задача такова, что нужно эти данные брать из файла на сервере. Может кто сталкивался с такой проблемой, может кто знает, какую нить процедурку для решения подобной задачи, помогите пожалуйста. зарание благодарен.


 
Eraser ©   (2008-12-16 20:13) [1]

вопрос по-человечески сформулируйте.
пока только увидел 1 вопрос

> могла бы запускать некоторые приложения с правами одмина.

решение приведено в тексте вопроса.


 
Плохиш ©   (2008-12-16 22:48) [2]

Удалено модератором


 
Германн ©   (2008-12-17 00:58) [3]

Удалено модератором


 
aHTuXpust ©   (2008-12-18 17:14) [4]


> решение приведено в тексте вопроса.


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


 
Jeer ©   (2008-12-18 18:25) [5]


> нужно имя пользователя и пароль из внешнего ресурса брать

Бери, кто мешает ?


> занимаюсь разработкой программы на предприятии,

Бедное предприятие.


 
Сергей М. ©   (2008-12-18 20:01) [6]


> Рылся .. нашел пример


> может кто знает, какую нить процедурку


С миру по нитке - лысому на гребешок ?

Сам-то ты что-то сделал ли для продвижения к цели ?


 
Сергей М. ©   (2008-12-18 20:11) [7]


> например из файла


sl: TStringList;
..
sl.LoadFromFile(путь к файлу);


 
Германн ©   (2008-12-19 01:38) [8]


> Jeer ©   (18.12.08 18:25) [5]

Твоя вторая фраза, как раз и составляла [3] :(
Ну это так. Без претензий к кому-либо.


 
KSergey ©   (2008-12-19 09:34) [9]

можно обойтись без программы, просто запускать bat-файл, который будет содержать команду runas.

Вот только задумайтесь хотя бы на секунду что вы вообще делаете? Вы ж выдаете пользователю не админу логин/пароль админа!! бред.

Если такая задаче реально есть - надо сделать сервис, который уже будет стартовать с нужными правами и будет иметь интерфейс для требования запуска стороннего приложения по требованию. Так и MS решает подобные задачи, например в штатном инсталляторе.

Хотя опять же есть подозрение, что что-то в этой схеме в данном случае явно криво: не зря ж исходный пользователь не админ. А если ему надо выполнять действия доступные лишь админу - то почему он не админ - тоже не понятно.


 
aHTuXpust ©   (2008-12-22 17:03) [10]


> А если ему надо выполнять действия доступные лишь админу
> - то почему он не админ - тоже не понятно.


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


 
Anatoly Podgoretsky ©   (2008-12-22 20:08) [11]

Которую ты хочешь нарушить.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
3-1236167363
Zalum
2009-03-04 14:49
2010.03.14
Данные из запроса


3-1236230452
Миша
2009-03-05 08:20
2010.03.14
DBgrid


15-1261854736
Германн
2009-12-26 22:12
2010.03.14
Странно сегодня глючил мой провайдер.


3-1236236249
ford
2009-03-05 09:57
2010.03.14
BLOB


2-1263147558
STD
2010-01-10 21:19
2010.03.14
Как передать значение в TThread при его создании?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский