asp.net – Windows身份验证成功但IsAuthenticated == false
环境是IIS 7集成管道,ASP.NET 4.0.我有一个.aspx页面配置没有匿名身份验证和
Windows身份验证:
<location path="auth/windows"> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <windowsAuthentication enabled="true" /> </authentication> </security> </system.webServer> </location> 当我请求页面时,会发生正常的Windows身份验证(NTLM / Negotiate)质询响应,最终返回页面. 我有一个HttpModule,我在其中处理PostAuthorize事件.正如所料,只有在质询 – 响应身份验证成功并且已授权访问页面后,才会引发此事件. 但是,Request.IsAuthenticated属性为false;和HttpContext.Current.User.Identity反映未经身份验证的用户(.Name返回空字符串).有趣的是,Request.ServerVariables [“LOGON_USER”]确实返回经过身份验证的Windows用户的值. 我曾经想过,一旦用户通过身份验证(并获得授权),请求就会反映出身份验证;并且已正确设置请求的用户/标识. 对于为什么不是这种情况的任何想法? 谢谢, 甄子丹 解决方法
Windows身份验证在IIS中启用,身份验证模式设置为我的web.config文件中的窗口.
<authentication mode="Windows"> </authentication> 我的网站要求凭据,它工作正常.但检查时使用 HttpContext.User.Identity.Name 是空字符串 我使用了Request.ServerVariables [“LOGON_USER”].Tostring();登录用户凭据. 它对我有用,感谢发布足球. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET 5针对dnx451 / dnx46性能
- asp.net – ActionLink为Attribute Route生成错误的URL
- asp.net-mvc – 如何将数据从AuthorizeAttribute传递给Cont
- 加速ASP.Net网站或应用程序
- asp.net – 使用WebHandler的HTTPHandler和IsReusable
- asp.net-mvc – 如何在Razor帮助器中使用UrlHelper?
- ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
- ASP.NET – 从内容页面访问主页面元素
- asp.net-mvc – 在没有模型的情况下手动将验证添加到文本框
- asp.net下文件上传和文件删除的代码