【问题标题】:ASP.Net Web Application Security dont work on IIS 7?ASP.Net Web 应用程序安全在 IIS 7 上不起作用?
【发布时间】: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


【解决方案1】:

阅读文章

Always set the "applicationName" property when configuring ASP.NET 2.0 Membership and other Providers

尝试创建一个新网站并将应用程序组件放在根目录中,以防 web.config 应用程序名称 = "/"

希望可以解决

  <membership>
        <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider"
                type="System.Web.Security.SqlMembershipProvider, System.Web,      Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
                connectionStringName="LocalSqlServer"
                enablePasswordRetrieval="false"
                enablePasswordReset="true"
                requiresQuestionAndAnswer="true"
  requiresUniqueEmail="false"
                passwordFormat="Hashed"
                maxInvalidPasswordAttempts="5"
                minRequiredPasswordLength="7"
                minRequiredNonalphanumericCharacters="1"
                passwordAttemptWindow="10"
                passwordStrengthRegularExpression="" 
                applicationName="/" 
            />
        </providers>
  </membership>

http://weblogs.asp.net/scottgu/archive/2006/04/22/Always-set-the-_2200_applicationName_2200_-property-when-configuring-ASP.NET-2.0-Membership-and-other-Providers.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多