asp.net – 帮助理解模仿
有人可以帮我理解“冒充”的概念吗?
我理解的方式是,当模拟发生时,代码代表某些身份执行. 因此,对于网页,只要禁用模拟,网页将始终在其配置的帐户下运行. 如果已启用,我可以“覆盖”其默认帐户并设置我希望运行Web应用程序的帐户. 所以,如果我使用IIS7,我有以下内容: 我还有以下代码: IIdentity ii = Thread.CurrentPrincipal.Identity; 如果我访问该页面,我会被要求提供Windows凭据,我会介绍’user2’凭据. 由于假冒被禁用,我希望IIdentity名称为’user1′,它不是’user2′. 有人可以帮我理解发生了什么吗?我想我完全误解了“冒充”的概念. 谢谢 更新1 搜索一段时间后,我偶然发现了这个链接: 似乎有三个IIdentity对象. HttpContext.Current.User.Identity 从链接我了解到: HttpContext.Current.User.Identity:表示请求页面的当前用户. Thread.CurrentPrincipal.Identity:当前正在执行该线程的标识.我想这个标识将是当前Web请求运行的标识,它的asp.net角色将定义用户在应用程序中可以做什么和不能做什么. 我想大多数时候HttpContext.Current.User.Identity和Thread.CurrentPrincipal.Identity都是同一个用户,但是对于某些情况我觉得请求页面的用户和Thread.CurrentPrincipal.Identity可能不同. 然后是: 链接说:“WindowsIdentity = WindowsIdentity.GetCurrent(),它返回当前正在执行的Win32线程的安全上下文的标识.” 在做了一些允许禁用“模拟”的测试之后,对于我当前的场景,我发现这是被模拟的身份. 如果我没有冒充,’WindowsIdentity.GetCurrent();’会反映应用程序池中已配置的用户,如果我进行模拟,则身份会更改为我在web.config中设置的身份: < identity impersonate =“true”password =“**”userName =“****”/> 更新2 如果我将web.config设置为: WindowsIdentity.GetCurrent()在用户发出请求时被模拟: HttpContext.Current.User.Identity 是同一用户,请求页面的用户. 解决方法
使用模拟时,ASP.NET应用程序可以选择使用代表其运行的客户端的标识来执行.这样做的通常原因是避免处理ASP.NET应用程序代码中的身份验证和授权问题.相反,您依靠IIS对用户进行身份验证,并将经过身份验证的令牌传递给ASP.NET应用程序,或者,如果无法对用户进行身份验证,则传递未经身份验证的令牌.
来自非常好的文章ASP.NET Impersonation (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 将ExtJS与ASP.NET,Webforms或MVC一起使用?
- asp.net – 正则表达式,用于标识0.0到1.0之间的小数
- asp.net – 无法完成操作.提供的SqlConnection不指定初始目
- asp.net-mvc – ASP.NET MVC:Action中的授权 – 建议的模式
- 如何/在哪里asp.net mvc处理解码和动作方法参数
- asp.net-mvc – ASP.NET MVC获取上次添加记录的ID
- asp.net – 如何修改aspx页面的超时?
- asp.net-mvc – ASP.NET MVC 4 – 301重定向RouteConfig.cs
- .net – 在DelegatingHandler中设置WWW-Authenticate响应头
- asp.net-mvc – Asp.Net MVC主题,如何?
- asp.net – 如何将流excel文件转换为数据表C#?
- asp.net – 使用简单的ActionFilterAttribute运行
- 是否可以在OSX上使用Razor作为独立库(没有任何as
- asp.net – Telerik rad日期选择器在将来日期用户
- asp.net – 如何管理具有非固定列号的转发器
- asp.net-mvc-4 – Web API 2返回OK响应,但在后台
- asp.net – 谷歌Chrome在崩溃后恢复会话cookie,如
- asp.net-mvc – 为桌面和移动浏览器格式化ASP.Ne
- asp.net-mvc – Orchard CMS:未显示内容部分
- asp.net-mvc-3 – ASP.NET MVC如何从Controller访