Выполненный Код как другой пользователь

Чтобы импортировать базу данных через терминал

Перейдите в папку, где находится файл .sql

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

mysql -u database_user_name -p database_name < sql_file_name.sql

Будет запрошено для пароля. Введите пароль базы данных. Импорт данных в базу данных займет несколько секунд.

35
задан abatishchev 11 May 2018 в 17:46
поделиться

2 ответа

Олицетворение требует вызова некоторых собственных API-интерфейсов (а именно, LogonUser), поэтому, вероятно, не стоит размещать 3 страницы кода оболочки. На этой странице представлен полный рабочий образец: http://platinumdogs.wordpress.com/2008/10/30/net-c-impersonation-with-network-credentials/

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

27
ответ дан 27 November 2019 в 07:03
поделиться

Эта статья объясняет это довольно кратко:

Вот фрагмент кода из статьи:

IntPtr accessToken = IntPtr.Zero;
....
//You have to initialize your accessToken with API calling 
....
WindowsIdentity identity = new WindowsIdentity(accessToken);
WindowsImpersonationContext context = identity.Impersonate();
...
// Now your code is using the new WindowsLogin and you can do what ever this login can do
...

//Now you can return to your current login of Windows
context.Undo();
11
ответ дан 27 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: