ASP.NET成员资格提供程序在数据库中生成两个应用

时间:2014-11-20 18:41:14

标签: c# asp.net asp.net-membership membership-provider

我正在使用以下定义的成员资格提供程序Web配置设置。当我访问我的管理页面开始将角色和用户添加到系统生成的SQL Server表时,我看到创建了两个应用程序。一个应用程序名称为“/”,第二个称为我的设置配置为PolyWebSite

我的步骤是:

  1. 作为未经身份验证的用户,我浏览到角色配置页面以添加管理员和其他角色。这是第一个应用程序创建时。

  2. 我浏览到自定义用户页面,我在其中添加用户并为其分配角色。也作为未经身份验证的用户。这是在我的PolyWebSite

    中设置名为web.config的第二个应用程序时
    <roleManager enabled="true" />
    <membership defaultProvider="AspNetSql2005MembershipProvider">
        <providers>
            <add name="AspNetSql2005MembershipProvider" 
                 type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0" 
                 connectionStringName="SqlConnString" 
                 enablePasswordReset="true" 
                 requiresQuestionAndAnswer="true" 
                 applicationName="PolyWebSite" 
                 requiresUniqueEmail="false" 
                 maxInvalidPasswordAttempts="5" 
                 minRequiredPasswordLength="1" 
                 minRequiredNonalphanumericCharacters="0" 
                 passwordAttemptWindow="10" 
                 passwordStrengthRegularExpression=""
                 passwordFormat="Clear"/>
        </providers>
    </membership>
    

1 个答案:

答案 0 :(得分:0)

想通了:向web.config的roleManager部分添加了与Membership部分同步的细节。添加的项目是connectionStringName和applicationName。

   <membership defaultProvider="AspNetSql2005MembershipProvider">
      <providers>
        <add name="AspNetSql2005MembershipProvider" 
             type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
             connectionStringName="SqlConnString" 
             enablePasswordReset="true" 
             requiresQuestionAndAnswer="true" 
             applicationName="PolyWebSite" 
             requiresUniqueEmail="true" 
             maxInvalidPasswordAttempts="5" 
             minRequiredPasswordLength="1" 
             minRequiredNonalphanumericCharacters="0" 
             passwordAttemptWindow="10" 
             passwordStrengthRegularExpression=""
             passwordFormat="Clear"/>
      </providers>
    </membership>


    <roleManager enabled ="true" defaultProvider ="SqlRoleProvider" >
      <providers>
        <add name ="SqlRoleProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlConnString"
          applicationName="PolyWebSite"/>
      </providers>
    </roleManager>