我在远程 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>
更新:搜索后,这是我尝试过的:
- 使用 IIS 重新注册 ASP.NET。(
aspnet_regiis -ir
) - 使用 IUSR 作为匿名身份验证用户,向 IUSR 授予完整的 Web 应用程序目录权限。
- 将应用程序池身份切换为 NetworkService 并将应用程序目录权限授予 NETWORKSERVICE。
- 将匿名身份验证用户从 IUSR 切换到我的服务器用户名(
xxxx/s_usr_acts
如之前的屏幕截图所示),并授予s_usr_acts
对 Web 应用程序目录的完全权限。 aspnet_regiis
在应用程序级别。
我可以访问我的登录页面,但我在尝试登录时不断收到 401.2 错误。还有什么我可以检查或尝试的吗?
附加信息:
- 更新:我在 Rackspace Win2k8 生产盒和内部 Win2k8 VM 上成功配置了相同的应用程序。
- 我通过ASP.NET Membership Provider进行身份验证。
- 我正在针对 Oracle 的数据提供程序运行 EF5。