4

我在远程 Win2K8R2 虚拟机上安装了 ASP.NET 4 Web 窗体应用程序。我无法将任何东西远程部署到这个盒子,所以我提供了一个本地安装的VS2012 Web 部署包我通过WebPI 4.6安装了 IIS 推荐配置。

我开始在具有 LocalSystem 身份的集成管道模式下使用默认应用程序池(我的将是 IIS 上的唯一 Web 应用程序)。这与我成功用于 Win2K8 VM 和 Win2K8 物理机上的其他 Web 应用程序的配置完全相同。

我正在使用表单/匿名身份验证。Account 目录授权是这样配置的:

在此处输入图像描述

我的应用程序授权配置如下:

在此处输入图像描述

更新: 我的应用程序身份验证配置如下:

在此处输入图像描述

我的 Membership Provider 配置如下:

<membership defaultProvider="ActsMembershipProvider">
                <providers>
                    <clear />
                    <add connectionStringName= [myString] 
                    name= [providerName] 
                    type= [assemblyName].[providerName] />
                </providers>
</membership>

我的表单身份验证配置如下:

<authentication mode="Forms">
        <forms name=".ASPXAUTH" loginUrl="~/Account/Login.aspx" defaultUrl="~/" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" />
</authentication>

更新:搜索后,这是我尝试过的:

  1. 使用 IIS 重新注册 ASP.NET。( aspnet_regiis -ir)
  2. 使用 IUSR 作为匿名身份验证用户,向 IUSR 授予完整的 Web 应用程序目录权限。
  3. 将应用程序池身份切换为 NetworkService 并将应用程序目录权限授予 NETWORKSERVICE。
  4. 将匿名身份验证用户从 IUSR 切换到我的服务器用户名(xxxx/s_usr_acts如之前的屏幕截图所示),并授予s_usr_acts对 Web 应用程序目录的完全权限。
  5. aspnet_regiis 在应用程序级别

我可以访问我的登录页面,但我在尝试登录时不断收到 401.2 错误。还有什么我可以检查或尝试的吗?

附加信息:

  • 更新:我在 Rackspace Win2k8 生产盒和内部 Win2k8 VM 上成功配置了相同的应用程序。
  • 我通过ASP.NET Membership Provider进行身份验证。
  • 我正在针对 Oracle 的数据提供程序运行 EF5。
4

2 回答 2

2

UPDATE2:当我从客户端服务器上的 C: 驱动器的根目录运行我的 Web 部署包时,我遇到了 401.2。但是,当我从桌面运行它时,我不再遇到 401.2,并且“进展”到 Oracle 连接错误。我有这个作为答案,因为我的发现解决了具体问题,尽管我不认为这是规范的。我仍然希望有更接近规范答案的东西。

于 2013-08-12T21:00:32.860 回答
0

我遇到了同样的问题,我在 IIS 身份验证面板上更改匿名身份验证凭据时解决了这个问题。当我选择“应用程序池标识”时,错误消失了。我不知道为什么这是解决方案。虽然我也不知道这个错误的根源是什么,因为我只想更新我的 Web 应用程序,从部署文件夹中复制文件,除了 web.config 文件。现在,灭火后,我会调查它发生的原因。目前我认为这可以帮助某人。

于 2016-04-27T08:30:25.503 回答