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 – 如何设置MVC应用程序的默认页面?
- asp.net-mvc – 通过NuGet升级到Microsoft.AspNe
- asp.net-mvc – Visual Studio 2013无法打开Razo
- asp.net – IDENTITY_INSERT设置为关闭错误
- asp.net-mvc – 我应该每个请求使用一个HttpClie
- 为什么我要在公共站点上使用ASP.NET MVC,在Intra
- ASP.NET捆绑和分类 – 包括用于生产捆绑包和未压
- asp.net-mvc – 发布具有多个部分视图的表单
- asp.net-mvc – 从ASP.NET Web API返回一些字段
- asp.net-mvc – ASP.NET MVC 3:如何强制ActionL
