【发布时间】:2011-06-12 07:03:04
【问题描述】:
我遇到了一个奇怪的问题
我在 win server 2008 上使用 Visual Studio 2010、SQL Express 2008
运行安全向导(创建单个用户,设置拒绝匿名等权限并允许创建的用户)并按 F5 --> 站点运行正常。
当我将文件夹移动到 IIS 7 并“转换为应用程序”时,会出现登录页面,但它不会接受我提供的密码。
有人告诉我只有 Stackoverflow 天才会回答这个问题。
我正在使用 .Net 4,管理管道模式 --> 集成
IIS 设置:
匿名身份验证。 --> 启用
表单验证。 --> 启用
ASP.Net 模拟、基本身份验证、摘要式身份验证、Windows 身份验证--> 已禁用
web.config
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<authorization>
<deny users="?"/>
<allow users="statmaster"/>
</authorization>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
用户名存在于 aspnet_Users 表中,用户名“加密”存在于 aspnet_Membership 表中
【问题讨论】:
-
您在虚拟目录上设置了什么身份验证?您在 web.config 中指定了什么身份验证?
-
@slugster:检查我的编辑
-
看,我不确定,但是自从您提出这个问题以来已经 4 小时了,但仍然没有一个答案,那么我建议您尝试给我们更多信息,因为我无法指出任何东西(不自称是专家!)。检查 IIS 和站点的日志。答案显然在某个地方。
-
@Poni:请检查 mokokamello 的答案,当我将应用程序复制到根文件夹中时它对我有用,但当我将它放在“website1”之类的文件夹中时它不起作用,请查看文章在 mokokamello 的回答链接中告诉我你的意见。
标签: asp.net sql security iis-7 web-config