Доступ к пути "*****" запрещен - PullRequest
4 голосов
/ 09 декабря 2011

У меня есть папка в той же сети, что и "\ lo1dc \ abcd \ Admin \ Images". Я установил полное разрешение для всех.Я создал новое веб-приложение на другом компьютере в той же сети, создал виртуальный каталог с именем _images и установил путь к этой папке.Я установил учетные данные пути для указанного пользователя при создании учетной записи и назначил имя администратора.Который является администратором для всей сети.

Теперь при попытке сохранить изображение, как показано ниже

string strSaveLocationCode128 = Server.MapPath("~/_images") + "//abc.Jpg";
barcodeCode128Mobile.drawBarcode(strSaveLocationCode128);

Это показывает мне сообщение об ошибке «Доступ к пути» \ lo1dc \ abcd \ Admin \ Images \ abc.Jpg'denied'.

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

Ответы [ 2 ]

3 голосов
/ 16 декабря 2011

Наконец-то я узнал ответ. Сетевой путь не может быть доступен анонимному пользователю.Так что

SPSecurity.RunWithElevatedPrivileges

сделал для меня свое дело.Спасибо всем за вашу ценную помощь в нужное время.

0 голосов
/ 09 декабря 2011

Вы можете войти как локальный пользователь, используя функцию LogOnUser:

        [DllImport("advapi32.dll", SetLastError = true)]
        private static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);

        // types 
        const int LOGON32_LOGON_INTERACTIVE = 2;
        const int LOGON32_LOGON_NETWORK = 3;
        const int LOGON32_LOGON_NEW_CREDENTIALS = 9;

        // providers 
        const int LOGON32_PROVIDER_DEFAULT = 0;
        const int LOGON32_PROVIDER_WINNT35 = 1;
        const int LOGON32_PROVIDER_WINNT40 = 2;
        const int LOGON32_PROVIDER_WINNT50 = 3;

Использование:

IntPtr token = IntPtr.Zero;
LogonUser("User Name", "Domain Name", "Password", LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref token);

using (WindowsImpersonationContext user = new WindowsIdentity(token).Impersonate())
{
    // Do file operations here...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...