我在同一网络中有一个文件夹“\ lo1dc \ abcd \ Admin \ Images”我为每个人设置了完全权限。我在同一网络中的另一台机器上创建了一个新的Web应用程序,并创建了一个名为“_images”的虚拟目录并设置了此文件夹路径。我在创建帐户时将路径凭据设置为指定用户,并将名称设置为管理员。这是整个网络的管理员用户。
现在尝试保存图像时如下所示
string strSaveLocationCode128 = Server.MapPath("~/_images") + "//abc.Jpg";
barcodeCode128Mobile.drawBarcode(strSaveLocationCode128);
这显示错误消息“拒绝访问路径'\ lo1dc \ abcd \ Admin \ Images \ abc.Jpg'”。
请帮助我,我使用Win 7作为我的开发平台。
答案 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...
}