ASP.NET拒绝尊重我的权限.
我成功地冒充了一个用户.使用LogonUser Interop,例如
[DllImport("advapi32.dll",SetLastError = true)] static extern bool LogonUser( string principal,string authority,string password,LogonSessionType logonType,LogonProvider logonProvider,out IntPtr token); 这工作正常当我进入我的直接窗口并输入WindowsIdentity.GetCurrent().名称时,模拟的用户显示为我的CurrentUser.当我释放这个用户,它可以追溯到我真正的用户.这里没有问题 – 我在冒充 但是,当我尝试将文件写入用户可以访问的共享时,我得到: 访问路径[路径名]被拒绝.. 我已经能够手动登录Windows,因为我正在冒充,导航并将文件写入该共享.用户一定对我指定的目录具有管理权限. 我允许最终用户上传文件,并使用HttpPostedFileBase对象,将文件写入此共享.本质上来说,我正在限制模拟代码块上传文件.一旦完成,它将返回到原始的经过身份验证的LDAP用户,例如 imp = Impersonation.ImpersonateUser("someuser","somepassword"); HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase; ... hpf.SaveAs(path); Impersonation.StopImpersonating(imp); 路径是正确的. 当我使用SaveAs方法保存文件时,是否尊重我的模拟? 是否尝试将文件写入我不知道的另一个帐户?如果是这样,我该怎么改呢? 使用SaveAs方法似乎没有大量的控制 – 而不是单个重载.使用这个对象有什么其他替代方法可以更好地控制我的凭据吗? 解决方法
这听起来像双跳身份验证问题.您是否试图让网络共享修改访问您网站的默认IIS用户(例如ASPNET),并运行POST / SaveAs,而不使用模拟代码?如果失败,您应该查看IIS中是否安装了可能导致服务器跳转身份验证问题的信息.这可能是一个开始的好地方:
http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何为Katana/Owin自主托管应用程序设置默认静态
- asp.net-web-api – JwtSecurityTokenHandler 4.0.0重大改变
- asp.net-mvc – ASP.NET MVC将表单值传递给action方法
- asp.net-mvc – 什么是Owin rememberBrowser做什么?
- asp.net-web-api – 使用Web API的Autofac:从HttpRequestM
- asp.net – SmtpException:服务器不支持安全连接
- 如何使用asp.net和c#流式传输Excel 2007或Word 2007文件
- Asp.net错误无法加载文件或程序集
- xamarin – ASP.NET核心Web API与ASP.NET核心应用程序
- asp.net – Asp:CheckBox复选框和文本不在同一行
- 从asp.net中的gridview获取已检查的行
- asp.net-mvc – 在VS2015中使用gulp在ASP.NET 4.
- Modular Web Application with ASP.NET Core
- asp.net-mvc – Windows Azure多租户应用程序和S
- asp.net-mvc – 如何从URL获取ID作为参数
- asp.net – 304未修改静态文件
- 引领从经典ASP到ASP.NET的跳跃,有什么建议吗?
- ASP.NET工作进程仍然以31kb的大小返回数据
- 有没有办法确保(仅)在HTTPS协议上运行ASP.NET应用
- asp.net-mvc – ASP.NET Web API – Windows窗体