访问路径“*****”被拒绝

时间:2011-12-09 06:27:18

标签: asp.net sharepoint iis-7

我在同一网络中有一个文件夹“\ lo1dc \ abcd \ Admin \ Images”我为每个人设置了完全权限。我在同一网络中的另一台机器上创建了一个新的Web应用程序,并创建了一个名为“_images”的虚拟目录并设置了此文件夹路径。我在创建帐户时将路径凭据设置为指定用户,并将名称设置为管理员。这是整个网络的管理员用户。

现在尝试保存图像时如下所示

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

这显示错误消息“拒绝访问路径'\ lo1dc \ abcd \ Admin \ Images \ abc.Jpg'”。

请帮助我,我使用Win 7作为我的开发平台。

2 个答案:

答案 0 :(得分:3)

最后我找到了答案,匿名用户无法访问网络路径。所以

SPSecurity.RunWithElevatedPrivileges

为我做了诀窍。 谢谢大家在合适的时间提供的宝贵帮助。

答案 1 :(得分:0)

您可以使用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...
}