ASP.Net Web窗体应用程序不通过Windows身份验证在服务器上进行身份验证 - 模拟失败

时间:2016-05-26 23:59:41

标签: asp.net vb.net windows-authentication

我正在运行ASP.NET(VB)4.6.1 Web窗体应用程序。我正在使用Windows身份验证(<authentication mode="Windows" />) 该方案是允许任何经过身份验证的Windows用户访问登录页面。 “Check Admins”活动目录安全组中的任何用户都应该可以访问Admin子文件夹中的任何页面。

root web.config有:

<authorization>
  <deny users="?" />
</authorization>

Admin web.config有:

  <authorization>
    <allow roles="domain\Check Admins" />        
    <deny users="*" />
  </authorization>

在目标网页上,我列举了用户拥有的所有角色:

test &= "<br/><h3>You have the following roles:</h3>"
For Each r In Roles.GetRolesForUser()
    test &= r & "<br/>"
Next

我已经完成了几个设置和web.config更改(大概如下所述)。我可以在我的开发PC上按预期工作但在部署到运行Windows 2008 R2和IIS 7.5的测试服务器时无法使其工作。我可以让网站出现一些时间,但只有我去http://localhost。当我使用完全限定名称时,它不会出现:http:// test.mysite.net

以下是更改&amp;设置我试过了:

在没有假冒的情况下跑步时:

Dev Machine:

  • User.Identity.Name:domain \ me
  • Principal.WindowsIdentity.GetCurrent.Name:domain \ me
  • 着陆页:运行
  • 管理页面:运行
  • 枚举角色:除管理员角色外的所有角色

一切按预期工作。

使用IIS设置部署到服务器时 enter image description here

IIS 7.5服务器(http://localhost):

  • User.Identity.Name:domain \ me
  • Principal.WindowsIdentity.GetCurrent.Name:ISO APPPOOL \ Test.mysite.net
  • 着陆页:运行
  • 管理页面:运行
  • 枚举角色:显示IIS APPPOOL \ Test.mysite.net的角色(可能)

IIS 7.5服务器(FQDN:http:// Test.mysite.net):     永无止境的安全挑战

更改服务器上的IIS设置 enter image description here

两个服务器站点都返回 HTTP错误500.24 - 内部服务器错误 检测到的ASP.NET设置不适用于集成管理管道模式。

在开发计算机上添加<identity impersonate="true"/>

HTTP错误500.24 - 内部服务器错误 检测到的ASP.NET设置不适用于集成管理管道模式。

最有可能的原因: •system.web / identity@impersonate设置为true。

添加

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>

以上模仿给出:

Dev Machine :(与首次运行相同)

  • User.Identity.Name:domain \ me
  • Principal.WindowsIdentity.GetCurrent.Name:domain \ me
  • 着陆页:运行
  • 管理页面:运行
  • 枚举角色:除管理员角色外的所有角色

IIS 7.5服务器(localhost):

  • User.Identity.Name:domain \ me
  • Principal.WindowsIdentity.GetCurrent.Name:domain \ me
  • 着陆页:运行
  • 管理页面:永无止境的安全挑战
  • 枚举角色:显示IIS APPPOOL \ Test.mysite.net的角色(可能)

IIS 7.5服务器(FQDN:http:// Test.mysite.net):     永无止境的安全挑战

我花了几个小时梳理Google和其他地方的帖子。我不知道这是不是.Net 4.5+或者我错过了什么。如何让它正确读取角色并对文件夹进行身份验证?

为什么当我尝试使用完整的URL访问该页面时,它完全无法通过身份验证?

1 个答案:

答案 0 :(得分:0)

对于其中的90%,事实证明Active Directory服务器具有过期的证书,因此拒绝验证来自Web服务器的请求。奇怪的是,它确实对在PC上登录Windows帐户的所有用户进行了身份验证。我发布此信息是为了防止其他人遇到类似的问题。 虽然,我仍然无法弄清楚服务器本身的原因,导航到完整的URL仍然无法进行身份验证,但转到Localhost工作正常。