如何从asp Web站点管理工具启用角色管理器

时间:2014-03-25 10:02:41

标签: asp.net sql roleprovider

您试图在asp网站管理工具中启用角色但是当转到安全选项卡时它会给我这个错误

  

您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。它也可能是由未启用角色管理器功能引起的。单击下面的按钮可重定向到可以选择新数据存储的页面。

     

以下消息可能有助于诊断问题:无法连接到SQL Server数据库。

我正在使用我自己的connectionStrings将其与sql server management studio 2012相关联,而不是sql CE in the visual studio这是代码

 <connectionStrings>

<add name="MusicStoreEntities"
     connectionString="Data Source=localhost;
     Initial Catalog=Project4DB;
     Integrated Security=true;
     MultipleActiveResultSets=true"

     providerName="System.Data.SqlClient" /> 
</connectionStrings>

所以如何在这种情况下启用角色。

1 个答案:

答案 0 :(得分:2)

您可以在经过多次搜索和小时后使ASP网站管理工具安全选项卡正常工作。 连接到常规server management studio 2012而不是那个带有visual studio的

首先在web.config文件中进行以下更改:

注意:我们首先要在server management studio 2012

中创建数据库

1)添加你的连接字符串

 <connectionStrings>

    <add name="MusicStoreEntities" --> change the name to your own connection name 
     connectionString="Data Source=localhost;
     Initial Catalog=Project4DB; --> change it to your one database name
     Integrated Security=true;
     MultipleActiveResultSets=true"
     providerName="System.Data.SqlClient" />

 </connectionStrings>

2)在web.config add的<system.web>部分中添加

<roleManager enabled="false" 
  cacheRolesInCookie="false" 
  cookieName=".ASPXROLES" 
  cookieTimeout="30" 
  cookiePath="/" 
  cookieRequireSSL="false" 
  cookieSlidingExpiration="true" 
  cookieProtection="All" 
  defaultProvider="AspNetSqlRoleProvider" 
  createPersistentCookie="false" 
  maxCachedResults="25">

  <providers>
  <clear />
  <add connectionStringName="MusicStoreEntities" --> change the name to your own connection name
       applicationName="/" 
       name="AspNetSqlRoleProvider" 
       type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

 <add name="AspNetWindowsTokenRoleProvider" 
      applicationName="/" 
      type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

  </providers>
</roleManager>

<membership>
  <providers>
    <remove name="AspNetSqlMembershipProvider"/>
    <add name="AspNetSqlMembershipProvider" 
        type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        connectionStringName="MusicStoreEntities" --> change the name to your own connection name
        enablePasswordRetrieval="false" 
        enablePasswordReset="true" 
        requiresQuestionAndAnswer="true" 
        applicationName="/" 
        requiresUniqueEmail="false" 
        passwordFormat="Hashed" 
        maxInvalidPasswordAttempts="5" 
        minRequiredPasswordLength="7" 
        minRequiredNonalphanumericCharacters="1" 
        passwordAttemptWindow="10" 
        passwordStrengthRegularExpression=""/>
</providers>
</membership>

<customErrors mode="Off" />

3)打开aspnet_regsql来自:   C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

并按照设置向导

hit next

点击下一步

点击下一步

选择要连接的数据库然后下一步

并且ASP网站管理工具中的安全选项卡将用于启用角色。