3 回答
TA贡献1828条经验 获得超13个赞
实际上,您可以做到。@dr_draik有点晚了,但这对我来说在谷歌搜索结果中浮现了,所以我想我会分享一些知识。
如果您处于经典模式-启用Windows和Forms身份验证。您会收到有关无法一次执行两项操作的警告,但可以忽略它。然后,您可以绕过各种属性,例如Code:
HttpContext.Current.Request.ServerVariables["LOGON_USER"]
并从那里钓鱼用户名。
如果处于集成模式下- 无法同时使用基于4021905 IIS7质询和基于登录重定向的身份验证,则将导致IIS 7.0两级身份验证以及表单身份验证和Windows身份验证,这是一个模块,可让您有选择地更改身份验证不同的页面。
TA贡献1874条经验 获得超12个赞
(更多信息的确是完整的)
不久前,我在一个会议上问了一个.Net安全人员这个问题。他的回答是,从技术上讲这是可能的,但是他从未见过这样做(并让他知道我是否这样做了!)。
他建议可以通过创建自己的ISAPI筛选器并将其安装到IIS中来实现。ISAPI筛选器将拦截请求,并基本上完成IIS在使用集成身份验证时所做的工作,但如果不存在表单,则退回使用表单。这涉及过滤器中一些复杂的质询/响应逻辑。但是,这是针对IIS6的,因此在IIS7中可能有所不同。
尽管从技术上讲这可能是可行的,但我不建议您采用这种方法,因为它看起来有点像骇客,并且提高自己的安全性从来都不是一个好主意(除非您真的知道自己在做什么)。
TA贡献1877条经验 获得超1个赞
有很多文章通过设置配置以允许匿名访问该应用程序来使用表单来混合身份验证。其次,应该使用IIS设置将集成身份验证的页面设置为拒绝匿名并使用集成身份验证。在这里,您可以通过检查记录表的ServerVariables集合的“ Logon_User”变量来实现魔术。最后,要使集成身份验证以静默方式登录用户,它必须具有简短的托管名称。因此,如果您的表单身份验证文件通过FQDN暴露给Internet,则应该进行某种重定向到短主机页面。我认为用IIS下的一个应用程序和2个虚拟目录就可以实现。
- 3 回答
- 0 关注
- 601 浏览
添加回答
举报