Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Авторизация для записи в папку по сетке.


Автор: Bogdan1024 21.4.2010, 13:10
Для копирования файлов на другой комп по сетке я использую следующий код:
Код

System.IO.File.Copy("file.txt", "\\somepc\somefolder\file.txt");

Что если другой комп требует чтобы я авторизировался логином и паролем? Как авторизироваться на другом компе в коде?

Автор: mrbrooks 21.4.2010, 15:52
Код

using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Security.Permissions;

    class Test
    {
        [DllImport("advapi32.dll", SetLastError = true)]
        public static extern bool LogonUser(
            string lpszUsername,
            string lpszDomain,
            string lpszPassword,
            int dwLogonType,
            int dwLogonProvider,
            out IntPtr phToken
            );
        
        public Test()
        {
            IntPtr adminToken;
        if (LogonUser("remote admin name","remote comp domain/group","pass", 9, 0, out adminToken))
            {
                WindowsIdentity wi_remote = new WindowsIdentity(adminToken);
                WindowsImpersonationContext wic = wi_remote.Impersonate();
                System.IO.File.Copy("local path", "remote path", true);
            }
        }
    }

Автор: ZmeyNet 21.4.2010, 16:06
Вот это очень похоже на то , что вам нужно
http://msdn.microsoft.com/en-us/library/ms227321.aspx




ЗЫ неужели картинка в подписи соответствует реальности  smile  (без ID и кода доступа)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)